Website: Difference between revisions
NitramLegov (talk | contribs) (initial creation) |
NitramLegov (talk | contribs) (added infobox) |
||
Line 1: | Line 1: | ||
{{ProjectInfoBox | |||
|project title=Website | |||
|image=CoMa_Website_development.jpg | |||
|status=under development | |||
|date=June or July 2019 | |||
|initiator={{NL}} | |||
|team={{K}},{{NL}} | |||
|materials= | |||
|tools= | |||
|software=Jekyll, GitHub Pages | |||
|cost= | |||
}} | |||
Our current website is hosted by one.com on [https://www.comakingspace.org/ https://comakingspace.org]. Since the website was developed in a rush when the CoMakingSpace was founded, it doesn´t seem to represent our community approach in an ideal way. Therefore, a new website is currently under development (See [https://github.com/comakingspace/do-something/issues/114 Issue 114]). This page documents the structure of the new website. | Our current website is hosted by one.com on [https://www.comakingspace.org/ https://comakingspace.org]. Since the website was developed in a rush when the CoMakingSpace was founded, it doesn´t seem to represent our community approach in an ideal way. Therefore, a new website is currently under development (See [https://github.com/comakingspace/do-something/issues/114 Issue 114]). This page documents the structure of the new website. | ||
Revision as of 15:54, 8 May 2019
ProjectInfoBox Website | |
---|---|
Status: | under development |
Release Date: | June or July 2019 |
Initiator: | Martin |
Team: | Kim,Martin |
Software Used: | Jekyll, GitHub Pages |
Our current website is hosted by one.com on https://comakingspace.org. Since the website was developed in a rush when the CoMakingSpace was founded, it doesn´t seem to represent our community approach in an ideal way. Therefore, a new website is currently under development (See Issue 114). This page documents the structure of the new website.
Technology
In order to account for our community based approach, we want to enable our members to participate in the website development.
Therefore, the website is hosted on GitHub Pages. GitHub pages basically takes static files from your GitHub repository and provides them to people browsing your page.
In order to generate the static files, you have different options:
- Just write good old html, css and javascript
- Use one of these WYSIWYG editors which led to those "awesome" 90s websites
- Use a static site generator of your choice (Hugo, etc.)
For us, we opted to use a static site generator. Since GitHub pages supports the upload of a jekyll project and generates the files for you, we decided to use jekyll.
With this, it is easy for non-IT people to edit the page: Just modify the markdown files and push them to the repository.
The Repository of our website can be found here.
Site Structure
In general, the website hosts a couple of pages which will most likely not change very often. These pages display general information about the CoMakingSpace, how to get there, etc.
From a more dynamic (not in a technical sense of course) point of view, the Website also displays the upcoming events. These get fed from our calendar.
Unfortunately, this is currently only an iframe, which looks pretty nasty and does not have any responsive features. Replacing this is one of the outstanding ToDos!
An additional feature is the blogging section. In this section we can provide news posts, announce some awesome projects or do anything else that counts as blogging.
Modifying the website
In order to modify the website, all you have to do is change the files in the repository over on GitHub. GitHub will automatically detect the changes and regenerate the site. Therefore, it should be available to the visitors within a few minutes (please wait for the CDN to update itself).
During the development phase please just go ahead and make the changes. After development we should possibly switch to a more workflow-oriented approach such as opening an issue and (possibly) providing a pull request which can be reviewed.
The different party of the website can be modified in different ways:
- If you want to change the links in the header navigation bar: Please modify the file _data/header_nav.yml
- Changing the middle footer content: Please modify the file _data/footer_nav.yml
- Adding or removing supervisors: Please modify the file _data/supervisors.yml
- Adding or removing sponsors: Please modify the file _data/sponsors.yml
- Modifying blog posts: Please either modify the correspondent file in _posts or create a new file. Please be aware of the file name format: YYYY-MM-DD-title.md
The Website content itself is written in Markdown, HTML and liquid. In general, you will most likely only need markdown to make the desirable changes.
Files, Folders, explanations
Folder | File | explanation |
---|---|---|
/ | Root folder, hosts all other files and folders | |
/ | _config.yml | contains the overall sites settings used for jekyll. This file also contains the social media links. |
_data | contains data files which can be accessed via liquid | |
_data | footer_nav.yml | hosts the links in the middle section of the footer |
_data | header_nav.yml | contains the links in the header navigation bar |
_data | managers.yml | contains the data about the managers for the about page |
_data | sponsors.yml | contains the names, links and images of our sponsors for the sponsors page |
_data | supervisors.yml | contains the data about the supervisors for the about page |
_includes | contains html files which can be included in the layouts | |
_includes | footer.html | contains the html and liuid code for the websites footer |
_includes | head.html | contains the html code which builds the <head> section of all the other pages |
_includes | header.html | contains the html and liquid code for the header navigation |
_includes | scripts.html | contains the importing tags for the used javascript |
_layouts | contains html files which provide the page layout | |
_layouts | default.html | this is the default layout which is used for most pages |
_layouts | post.html | this is the layout that is being used for blog posts |
_posts | contains the blog posts. Files have to be named in the following format:YYYY-MM-DD-title.md
| |
_sass | contains the Sass files used to style the page | |
assets | contains images and other static files |