Jan 03, 2018

New Magnum website is here

a stepping stone for what is to come

The new web­site does a bet­ter job at clearly present­ing en­gine fea­tures and en­ables the team to share pro­gress easi­er than be­fore. Be­sides that, its de­vel­op­ment res­ul­ted in many valu­able byproducts for both C++ de­velopers and web con­tent pub­lish­ers.

One of greatest strengths that de­veloped in Mag­num over time is its mod­u­lar­ity and flex­ib­il­ity. Un­til now the cap­ab­il­it­ies were not really well com­mu­nic­ated, lead­ing to false im­pres­sion. The new Fea­ture Over­view pages with in­ter­act­ive ar­chi­tec­ture dia­grams are de­signed to show mod­u­lar­ity and ex­tens­ib­il­ity as a core prin­ciple and the fo­cus is now on im­prov­ing and doc­u­ment­ing the flex­ib­il­ity even fur­ther.

The Build Status page primary shows per-pro­ject, per-plat­form build status in a more de­tailed way than the bin­ary “everything is awe­some” / “some­thing’s broken” status badges from CI serv­ers. There’s also a new Doc­u­ment­a­tion Down­loads page that will be gradu­ally filled with down­load­able con­tent for in­teg­rat­ing Mag­num docs in­to your pro­jects or IDEs.


You may have no­ticed that the pages don’t take long to load. Great ef­fort was put in­to the over­all web­site per­form­ance and re­spons­ive­ness.

The web­site is built us­ing m.css, a no-non­sense, no-JavaS­cript CSS frame­work. It was ori­gin­ally de­veloped mainly to power this web­site, but thanks to its sim­pli­city and light­weight ap­proach it has already been ad­op­ted by nu­mer­ous people since its re­lease in late Oc­to­ber 2017. Be­sides CSS style, m.css provides a theme for Pel­ic­an stat­ic site gen­er­at­or and a bunch of use­ful plu­gins for gen­er­at­ing nicely high­lighted code blocks, ren­der­ing math equa­tions, and more.

Doxy­gen theme

The built­in Doxy­gen HTML out­put didn’t really serve my ex­pect­a­tions any­more and I needed some­thing to match the web­site theme. That led to cre­at­ing a m.css Doxy­gen theme, which uses XML out­put from Doxy­gen to pro­duce a mod­ern and re­spons­ive HTM­L5 markup.

You can see the Doxy­gen theme live at https://doc.magnum.graphics. Please note that the theme is still a work-in-pro­gress and some fea­tures (such as sym­bol search) are yet to be im­ple­men­ted. The doc­u­ment­a­tion con­tent is gradu­ally proofread, up­dated, and im­proved to match the new theme.

Be­ne­fits for pro­jects out­side of Mag­num

  • m.css, now with over 400 com­mits, ex­tens­ive doc­u­ment­a­tion, con­tinu­ous in­teg­ra­tion and high test cov­er­age, is pro­duc­tion-ready. Def­in­itely check it out if you are look­ing for some­thing to pub­lish your tech­nic­al blog with, present a pro­ject or write doc­u­ment­a­tion in.
  • 8 patches in­teg­rated to Doxy­gen, mostly re­lated to the XML out­put, ma­jor­ity of them already in­cluded in ver­sion 1.8.14 that was re­leased in Decem­ber 2017.
  • 9 patches sub­mit­ted to Pel­ic­an, im­prov­ing sup­port for sites span­ning mul­tiple sub­do­mains. Most of these are sched­uled to be in the up­com­ing ver­sion 3.8.
  • 2 patches to latex2s­vg that handles math ren­der­ing in m.css.
  • I am main­tain­ing a friendly fork of Pyg­ments with patches for im­proved C++ and GLSL syn­tax high­light­ing that are not in­teg­rated in any stable ver­sion yet.

Open con­tent

All con­tent on this site is com­ing from a reST source that’s pro­cessed to HTML us­ing Pel­ic­an and then up­loaded to Apache that’s just serving stat­ic con­tent. As straight­for­ward as it can get. The full web­site con­tent is pub­licly avail­able on Git­Hub at mosra/mag­num-web­site. Even this very art­icle, see how it looks in its raw form:

New Magnum website is here --- a stepping stone for what is to come

:date: 2018-01-03
:modified: 2018-11-04
:category: Meta
:cover: {static}/img/blog/new-website-is-here.jpg
:tags: Doxygen, C++, m.css
:summary: The new website does a better job at clearly presenting engine
    features and enables the team to share progress easier than before. Besides
    that, its development resulted in many valuable byproducts for both C++
    developers and web content publishers.

.. note-success:: Content care: Nov 04, 2018

    Updated status of PRs submitted to third-party projects.

One of greatest strengths that developed in Magnum over time is its modularity
and flexibility. Until now the capabilities were not really well communicated,
leading to false impression. The new `Feature Overview pages <{filename}/features.rst>`_

Sup­port & con­sult­ing

If you are look­ing to use Mag­num in a big­ger pro­ject and need con­sult­ing, train­ing or ded­ic­ated sup­port to en­sure everything goes smooth, premi­um paid sup­port is avail­able. If you want to help the pro­ject, dona­tions of any kind are very wel­come. Thank you in ad­vance for fin­an­cial sup­port, hard­ware dona­tions, bug re­ports, code con­tri­bu­tions or just let­ting the world know about Mag­num.

Head over to the Con­tact & Sup­port page for con­tact de­tails.

What’s next

There’s a lot in the queue for the next weeks and the new web­site is the first step­ping stone, al­low­ing us to share the pro­gress of everything that comes after. One of the more im­port­ant things to be re­leased is a pub­lic roadmap for Mag­num, un­cov­er­ing the fea­ture pri­or­it­ies and fu­ture mile­stones. The open web­site con­tent also lowers the bar­ri­er for con­tri­bu­tions, en­abling people to, for ex­ample, pub­lish guest posts on the blog. But more on that later ;)