[Dune-devel] New dune-project Website: Status update/Call for help
Dominic Kempf
dominic.r.kempf at gmail.com
Thu Feb 11 18:12:21 CET 2016
Dear fellow Duners,
tl;dr: The new homepage layout is written, but porting, revising and adding
content
is only possible as a group effort. The new page can easily be built
locally.
As talked about before, we are working on a replacement for the current
Dune website.
The new homepage uses the static site generator HUGO (www.gohugo.io)
The project got delayed, but I was able to invest a few days this week.
Some stuff already
works, for some, your help is needed. So here is a status update:
You can browse the homepage sources here:
https://gitlab.dune-project.org/infrastructure/dune-website
https://gitlab.dune-project.org/infrastructure/dune-website-builder
You can also build the homepage locally quite easily (a reason to settle
for hugo!).
You need to install:
* git-lfs from https://git-lfs.github.com/
* hugo from https://github.com/spf13/hugo/releases
Having installed these requirements, type in the toplevel directory of
dune-website:
hugo server --watch
This will spin up a webserver, allowing you to browse the page. The page
will
update itself as soon as you apply any changes to the sources.
The following subdirectories of a hugo project are relevant when adding
content:
* the contents folder contains content in form of markdown files.
Each markdown file has a so-called front matter (separated by +++), that
contains metadata of the page. For most normal contents, it is sufficient
to specify the Title there. The structure within the content subdir
is translated into the directory structure of the built homepage.
(./content/about/dune.md appears at www.dune-project.org/about/dune)
* the static folder contains all sorts of static data. Git LFS is used
to add binary data. You can simply commit big pdfs or tarballs, no
problem.
That was my short introduction into Hugo, for more information head over at
www.gohugo.io and read the docs. I liked working with it.
Now, for the Dune website. I have tried to reproduce the main features of
the old page
and extend it in some ways. To implement a two-level menu, I decided to use
the
style of the hugo docs at https://gohugo.io/overview/introduction/
Extending our current feature set, I introduced some content archetypes. An
archetype is a
piece of content with a prepopulated frontmatter and a different set of
templates
to render sites. You can add a new archetype item with:
hugo new <archetypename>/<itemname>.md
(note that this only works from the toplevel directory)
The following contents are managed through so called archetypes (see
archetypes subdir):
* News items (called "news")
* Releases (called "releases")
* Dune Modules (called "modules")
News items work exactly as before. The timestamp is automatically added to
the front matter.
The process of publishing a Dune releases is (or will be, as we will test
all that with 2.4.1)
kind of automated through the releases archetype. The download section is
populated automatically,
the markdown content is just the release notes. The menu automatically
chooses the latest 3 releases
to link directly (excluding outdated point releases).
I added an archetype "modules" to document dune modules. This has the
following effects:
* Each dune module has its own content page, just as some chosen few had
before (the discretization
modules, dune-grid-glue, dune-mc, dune-functions etc.)
* A module summary is automatically shown in the corresponding module group
(check the menu!)
* Crosslinking to all requirements etc.
I would like this to become some sort of a database of available dune
modules.
Building the doxygen documentation is done from the project
dune-website-builder.
The documentation building is triggered through tags in the frontmatter of
either releases
or dune modules. I am still struggling with some ugly stuff there.
Many developers asked for an "online editing" system. This is available as
the last menu item (if on a page).
It uses gitlabs online editing system.
So, now what remains to be done:
* Customizing CSS to give the thing the proper dunish look.
* Adding CSS classes for news item and module short summary.
* Resolve the clashes between the main and doxygen CSS
* Dig through content for broken links
* Add aliases to the front matter where backwards compatibility is desired
* Write meaningful texts about in content/groups
* Write module pages for all existing Dune modules
* Discard outdated content, I have not taken such measures yet.
* Decide what to do with the gallery: Should it be integrated with the
modules
archetype or be separate?
As I have already invested quite some time, I cannot do all of that myself.
I count on all of you to help me with content. If somebody is into CSS, I
would consider
that a very big help, as my apprecation for design is quite low. Of course,
lots of
the old styles could be ported, too.
Best,
Dominic
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune-devel/attachments/20160211/ce68687e/attachment.htm>
More information about the Dune-devel
mailing list