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 clear­ly pre­sent­ing en­gine fea­tures and en­ables the team to share progress eas­i­er than be­fore. Be­sides that, its de­vel­op­ment re­sult­ed in many valu­able byprod­ucts for both C++ de­vel­op­ers and web con­tent pub­lish­ers.

One of great­est strengths that de­vel­oped in Mag­num over time is its mod­u­lar­i­ty and flex­i­bil­i­ty. Un­til now the ca­pa­bil­i­ties were not re­al­ly well com­mu­ni­cat­ed, lead­ing to false im­pres­sion. The new Fea­ture Over­view pages with in­ter­ac­tive ar­chi­tec­ture di­a­grams are de­signed to show mod­u­lar­i­ty and ex­ten­si­bil­i­ty as a core prin­ci­ple and the fo­cus is now on im­prov­ing and doc­u­ment­ing the flex­i­bil­i­ty even fur­ther.

The Build Sta­tus page pri­ma­ry shows per-project, per-plat­form build sta­tus in a more de­tailed way than the bi­na­ry “ev­ery­thing is awe­some” / “some­thing’s bro­ken” sta­tus badges from CI servers. There’s al­so a new Doc­u­men­ta­tion Down­loads page that will be grad­u­al­ly filled with down­load­able con­tent for in­te­grat­ing Mag­num docs in­to your projects 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­for­mance and re­spon­sive­ness.

The web­site is built us­ing m.css, a no-non­sense, no-JavaScript CSS frame­work. It was orig­i­nal­ly de­vel­oped main­ly to pow­er this web­site, but thanks to its sim­plic­i­ty and light­weight ap­proach it has al­ready been adopt­ed by nu­mer­ous peo­ple since its re­lease in late Oc­to­ber 2017. Be­sides CSS style, m.css pro­vides a theme for Pel­i­can stat­ic site gen­er­a­tor and a bunch of use­ful plug­ins for gen­er­at­ing nice­ly high­light­ed code blocks, ren­der­ing math equa­tions, and more.

Doxy­gen theme

The builtin Doxy­gen HTML out­put didn’t re­al­ly serve my ex­pec­ta­tions any­more and I need­ed some­thing to match the web­site theme. That led to cre­at­ing a m.css Doxy­gen theme, which us­es XML out­put from Doxy­gen to pro­duce a mod­ern and re­spon­sive 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-progress and some fea­tures (such as sym­bol search) are yet to be im­ple­ment­ed. The doc­u­men­ta­tion con­tent is grad­u­al­ly proof­read, up­dat­ed, and im­proved to match the new theme.

Ben­e­fits for projects out­side of Mag­num

  • m.css, now with over 400 com­mits, ex­ten­sive doc­u­men­ta­tion, con­tin­u­ous in­te­gra­tion and high test cov­er­age, is pro­duc­tion-ready. Def­i­nite­ly check it out if you are look­ing for some­thing to pub­lish your tech­ni­cal blog with, present a project or write doc­u­men­ta­tion in.
  • 8 patch­es in­te­grat­ed to Doxy­gen, most­ly re­lat­ed to the XML out­put, ma­jor­i­ty of them al­ready in­clud­ed in ver­sion 1.8.14 that was re­leased in De­cem­ber 2017.
  • 9 patch­es sub­mit­ted to Pel­i­can, im­prov­ing sup­port for sites span­ning mul­ti­ple sub­do­mains. Most of these are sched­uled to be in the up­com­ing ver­sion 3.8.
  • 2 patch­es to la­tex2svg that han­dles math ren­der­ing in m.css.
  • I am main­tain­ing a friend­ly fork of Pyg­ments with patch­es for im­proved C++ and GLSL syn­tax high­light­ing that are not in­te­grat­ed in any sta­ble 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­i­can and then up­load­ed to Apache that’s just serv­ing stat­ic con­tent. As straight­for­ward as it can get. The full web­site con­tent is pub­licly avail­able on GitHub at mosra/mag­num-web­site. Even this very ar­ti­cle, 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 project and need con­sult­ing, train­ing or ded­i­cat­ed sup­port to en­sure ev­ery­thing goes smooth, pre­mi­um paid sup­port is avail­able. If you want to help the project, do­na­tions of any kind are very wel­come. Thank you in ad­vance for fi­nan­cial sup­port, hard­ware do­na­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 progress of ev­ery­thing that comes af­ter. One of the more im­por­tant things to be re­leased is a pub­lic roadmap for Mag­num, un­cov­er­ing the fea­ture pri­or­i­ties and fu­ture mile­stones. The open web­site con­tent al­so low­ers the bar­ri­er for con­tri­bu­tions, en­abling peo­ple to, for ex­am­ple, pub­lish guest posts on the blog. But more on that lat­er ;)