Sources behind https://neic.no
Text is licensed under CC BY-SA 4.0. Source code is licensed under MPL v2.0.
We use GitHub pages. Sources are at https://github.com/neicnordic/neic.no. The web is full of guides and tutorials. GitHub pages uses GitHub flavored markdown syntax. Go to #web in NeIC slack if you need someone to talk to.
You need a GitHub account.
Optional: For very minor things like updating an email address it's easiest if you are part of the neicnordic organization. Ask in #web in NeIC slack.
If you want to preview the website locally on your computer, you need to install Jekyll.
This way we do not have to worry about hosting, backup, and uptime. Also we allow anybody to submit changes and corrections without the need of giving these persons write or edit permissions.
We have moved to GitHub/Jekyll early 2017. Before this move, the web hosting was done by a separate entity and we had to ask them for every change and it introduced delays and slowed done larger reorganization of pages. Back then, there was a large demand in moving the pages to a public hosting solution where anybody can propose changes and where accepting changes becomes nearly trivial.
When we chose the web hosting solution, we imagined that all NeIC staff is somehow familiar with open source tools and web hosting (this assumption was not correct) and that all NeIC staff would participate in maintaining the website (also this was not correct in hind-sight).
Now, couple of year later, we should have preferred an even simpler solution where one can submit and preview changes without knowledge of Git, GitHub, JavaScript, CSS, or HTML.
For trivial changes like updating an email address: Edit in directly through the web interface if you have write/edit permissions.
For non-trivial changes, make a fork (guide here).
If you work in a fork then you can point others to https://YOURUSER.github.io/neic.no to show them your work (but nothing is shown until you actually commit a change).
Example: https://yohell.github.io/neic.no.
- Clone the source code to your laptop.
- Serve it with
jekyll serve
. - See changes live on http://localhost:4000/.
- Edit until happy.
- Commit.
- Push your changes back to GitHub.
- Ideally content should be in Markdown files.
- Page layout should be in html files.
- Ideally (almost) no content should be in html files.
We use Jekyll collections. Information on similar things are in the same folder. Examples:
- People are in
_people/
. - Activities are in
_activities/
. - News articles are in
_posts/
. - ... you get the idea.
All people/staff are under _people/
. I recommend to copy an existing person file which is either
in the same project or has a similar set of group properties, rename the file,
and adapt it.
- Example file
- Adapt name, homepage, country, photo, email, phone.
- Under
groups:
are all the groups this person is in and in which role. Based on this information, group pages are populated with people.
For the record and for future restructuring of the website, I (RB) would like to recommend that I think now, few years after we introduced the structure, that it is too complex. I would prefer a solution where all content are simple Markdown pages and where content is not generated from a YAML data structure, like it is done now.
- News pictures should be ideally be 762x507 px in size.
If you hit a problem and do not know how to get out of it, ask in #web in NeIC slack, but here's the basics depending how you were working:
Ask in #web in the NeIC slack for help.
This is a simple, non-elegant solution:
- Make a new clone of whatever you were working on and which worked before it broke.
- Copy over the stuff you want and leave behind the changes you wish to discard.
- Commit.
- Push your changes.
- Delete the broken clone.