Infra:websiteinfosec: Difference between revisions

From UNamur InfoSec
Jump to navigation Jump to search
(Created page with "The website of Infosec team is accessible at this address [https://infosec.unamur.be infosec.unamur.be]. == Technical Specification == The site is built using Jekyll (a stati...")
 
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
The website of Infosec team is accessible at this address [https://infosec.unamur.be infosec.unamur.be].
The website of Infosec team is accessible at this address [https://infosec.unamur.be infosec.unamur.be].


== Technical Specification ==
= Technical Specification =
The site is built using Jekyll (a static site generator based on Ruby). The website source file is stored on a git repository [https://forge.infosec.unamur.be/infrastructure/team_front_page_website https://forge.infosec.unamur.be/infrastructure/team_front_page_website].
The site is built using Jekyll (a static site generator based on Ruby) and it uses markdown to format text.
 
The website source file is stored on a git repository [https://forge.infosec.unamur.be/infrastructure/team_front_page_website https://forge.infosec.unamur.be/infrastructure/team_front_page_website].


The git repository has two main branches:
The git repository has two main branches:
Line 8: Line 10:
* dev: contains some experimental features
* dev: contains some experimental features


== Modification of the site ==
The website is deployed as a docker container on doc server. There are two instances running: one is the production instance and another contains a dev version of the site which can be only accessible within the university.
 
= Modification of the site =


To modify the site, follow these steps:
To modify the site, follow these steps:


* Clone the repository https://forge.infosec.unamur.be/infrastructure/team_front_page_website
* Clone the repository https://forge.infosec.unamur.be/infrastructure/team_front_page_website
* Modify the file
* Make changes
* Commit your changes
* Commit the changes
* Push it back to server
* Push it back to server
* The site will be rebuilt and deployed on server at each commit.
* The site will be rebuilt and deployed on server at each commit.


In case you want to test your changes first, after cloning the repository switch to branch '''dev'''. This will also trigger the build and deploy the dev version of the site which can be accessible at this location: [http://138.48.246.5:8888/ http://138.48.246.5:8888/]
In case you want to test your changes first, after cloning the repository switch to branch '''dev'''. This will also trigger the build and deploy the dev version of the site which can be accessible at this location: [http://138.48.246.5:8888/ http://138.48.246.5:8888/]
= Site structure =
The website uses minima template [https://jekyll.github.io/minima/ Theme preview] and is built on Bootstraps.
== Contents At-A-Glance ==
Minima has been scaffolded by the <code>jekyll new-theme</code> command and therefore has all the necessary files and directories to have a new Jekyll site up and running with zero-configuration.
=== Layouts ===
Refers to files within the <code>_layouts</code> directory, that define the markup for your theme.
* <code>default.html</code> — The base layout that lays the foundation for subsequent layouts. The derived layouts inject their contents into this file at the line that says <code>{{ content }}</code> and are linked to this file via [https://jekyllrb.com/docs/frontmatter/ FrontMatter] declaration <code>layout: default</code>.
* <code>home.html</code> — The layout for your landing-page / home-page / index-page. [[[#home-layout|More Info.]]]
* <code>page.html</code> — The layout for your documents that contain FrontMatter, but are not posts.
* <code>post.html</code> — The layout for your posts.
=== Includes ===
Refers to snippets of code within the <code>_includes</code> directory that can be inserted in multiple layouts (and another include-file as well) within the same theme-gem.
* <code>disqus_comments.html</code> — Code to markup disqus comment box.
* <code>footer.html</code> — Defines the site’s footer section.
* <code>google-analytics.html</code> — Inserts Google Analytics module (active only in production environment).
* <code>head.html</code> — Code-block that defines the <code>&lt;head&gt;&lt;/head&gt;</code> in ''default'' layout.
* <code>header.html</code> — Defines the site’s main header section. By default, pages with a defined <code>title</code> attribute will have links displayed here.
=== Sass ===
Refers to <code>.scss</code> files within the <code>_sass</code> directory that define the theme’s styles.
* <code>minima.scss</code> — The core file imported by preprocessed <code>main.scss</code>, it defines the variable defaults for the theme and also further imports sass partials to supplement itself.
* <code>minima/_base.scss</code> — Resets and defines base styles for various HTML elements.
* <code>minima/_layout.scss</code> — Defines the visual style for various layouts.
* <code>minima/_syntax-highlighting.scss</code> — Defines the styles for syntax-highlighting.
=== Assets ===
Refers to various asset files within the <code>assets</code> directory. Contains the <code>main.scss</code> that imports sass files from within the <code>_sass</code> directory. This <code>main.scss</code> is what gets processed into the theme’s main stylesheet <code>main.css</code> called by <code>_layouts/default.html</code> via <code>_includes/head.html</code>.
This directory can include sub-directories to manage assets of similar type, and will be copied over as is, to the final transformed site directory.

Latest revision as of 15:35, 26 June 2021

The website of Infosec team is accessible at this address infosec.unamur.be.

Technical Specification

The site is built using Jekyll (a static site generator based on Ruby) and it uses markdown to format text.

The website source file is stored on a git repository https://forge.infosec.unamur.be/infrastructure/team_front_page_website.

The git repository has two main branches:

  • master: contains a production ready site
  • dev: contains some experimental features

The website is deployed as a docker container on doc server. There are two instances running: one is the production instance and another contains a dev version of the site which can be only accessible within the university.

Modification of the site

To modify the site, follow these steps:

In case you want to test your changes first, after cloning the repository switch to branch dev. This will also trigger the build and deploy the dev version of the site which can be accessible at this location: http://138.48.246.5:8888/

Site structure

The website uses minima template Theme preview and is built on Bootstraps.

Contents At-A-Glance

Minima has been scaffolded by the jekyll new-theme command and therefore has all the necessary files and directories to have a new Jekyll site up and running with zero-configuration.

Layouts

Refers to files within the _layouts directory, that define the markup for your theme.

  • default.html — The base layout that lays the foundation for subsequent layouts. The derived layouts inject their contents into this file at the line that says Template:Content and are linked to this file via FrontMatter declaration layout: default.
  • home.html — The layout for your landing-page / home-page / index-page. [[[#home-layout|More Info.]]]
  • page.html — The layout for your documents that contain FrontMatter, but are not posts.
  • post.html — The layout for your posts.

Includes

Refers to snippets of code within the _includes directory that can be inserted in multiple layouts (and another include-file as well) within the same theme-gem.

  • disqus_comments.html — Code to markup disqus comment box.
  • footer.html — Defines the site’s footer section.
  • google-analytics.html — Inserts Google Analytics module (active only in production environment).
  • head.html — Code-block that defines the <head></head> in default layout.
  • header.html — Defines the site’s main header section. By default, pages with a defined title attribute will have links displayed here.

Sass

Refers to .scss files within the _sass directory that define the theme’s styles.

  • minima.scss — The core file imported by preprocessed main.scss, it defines the variable defaults for the theme and also further imports sass partials to supplement itself.
  • minima/_base.scss — Resets and defines base styles for various HTML elements.
  • minima/_layout.scss — Defines the visual style for various layouts.
  • minima/_syntax-highlighting.scss — Defines the styles for syntax-highlighting.

Assets

Refers to various asset files within the assets directory. Contains the main.scss that imports sass files from within the _sass directory. This main.scss is what gets processed into the theme’s main stylesheet main.css called by _layouts/default.html via _includes/head.html.

This directory can include sub-directories to manage assets of similar type, and will be copied over as is, to the final transformed site directory.