https://github.com/ami-iit/jekyll-template
Template for creating static websites with Jekyll
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Keywords
Repository
Template for creating static websites with Jekyll
Basic Info
- Host: GitHub
- Owner: ami-iit
- Language: CSS
- Default Branch: master
- Homepage: https://dic-iit.github.io/jekyll-template/
- Size: 319 KB
Statistics
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
- Releases: 1
Topics
Metadata Files
README.md
jekyll-template
This repository provides a simple self-contained static website generated with jekyll. From the development point of view, the following features are supported:
Development: exploit the provided docker image:
- Creation of a default jekyll website
- Building process of an existent jekyll website
- Support to serve locally a website
- Support of
jupyternotebooks (latex, plots, code)
Deployment:
- Automatic website generation after every commit exploiting Travis CI
- Automatic website deployment after every commit exploiting Travis CI
The demo website shows as example the jekyll-ified version of the Bootstrap Blog Template, with the deafult jekyll's articles, and a post written with a jupyter notebook.
The required dependencies for the Development are git and docker.
The only required dependency for the Deployment is git.
When the website is ready, the end users of the website only need to commit the markdown posts (or the jupyter notebooks) in the right location.
Notes for Development:
The docker image contains the minimum amount of dependencies, mainly ruby gems, needed to generate the default website provided by jekyll. After this, all the website configuration is demanded to bundler.
This means that the project's Gemfile should include all the dependencies needed to its execution (jekyll included). This potentially allows to avoid the usage of the provided docker image that might be useful in particular cases.
Get the docker image
The docker image used for handling this repository can be 1. downloaded from dockerhub or 2. built locally:
1. Download the image from dockerhub
``` docker pull diegoferigo/jekyll docker tag diegoferigo/jekyll loc2/jekyll
```
2. Build locally the image
Clone this repository, start the docker daemon, and then execute:
sh
cd docker
docker build --rm -t loc2/jekyll .
HowTo
The provided docker image can be used in the following way:
sh
docker run -it --rm \
-v $(pwd)/jekyll:/srv/jekyll/www:rw \
-p 4000:4000 \
--name jekyll \
loc2/jekyll \
{{command}}
Where {{command}} is:
new: generates a new jekyll websitebuild: builds a website from the/jekyllfolderserve: exposes the website to the host atlocalhost:4000
Example: Generate a default website
This repository already provides a /jekyll folder containing a working static website with Bootstrap 4, a default theme, and a bunch of jekyll plugins.
If, instead, you want to exploit this workflow for starting from scratch with the default jekyll website, execute
sh
cd jekyll-template
rm -r jekyll
mkdir jekyll
docker run -it --rm \
-v $(pwd)/jekyll:/srv/jekyll/www:rw \
--name jekyll \
loc2/jekyll \
new
Example: Use an existing jekyll website
If you already have an existing website created with jekyll (even hosted in another repo) and you want to exploit this workflow, substitute the /jekyll folder with your own. Then, serve it to the host executing:
sh
cd jekyll-template
docker run -it --rm \
-v $(pwd)/jekyll:/srv/jekyll/www:rw \
-p 4000:4000 \
--name jekyll \
loc2/jekyll \
serve
Then browse to localhost:4000.
Mainteinance guidelines
This repo
This repository is a template, something you can use as starting point to develop a website. We try to always keep it a rolling release for what concern tools and plugins.
There are two branches:
master: it contains the templategh-pages: it is an orphan branch that contains a demo website
GitHub Pages officially supports only a limited amount of Jekyll plugins. This might be a constraint for many applications, and there the usage of this limited set affects how the gh-pages branch is used:
- Using official plugins: The
gh-pagesbranch contains the/jekyllfolder, and the generation of the website is performed remotely - Using other plugins: The
gh-pagesbranch contains the/jekyll/_sitefolder generated locally, and a.nojekyllfile must be present
The maintainers of this repository should commit in the master branch all the developed files and configurations (the /jekyll folder). The gh-pages branch should instead be populated only by the correct folder depending on the plugins choice just described.
We can exploit subtree in order to quickly commit in gh-pages only a subfolder of the master branch
Remote generation
```sh
Normal push
git subtree push --prefix jekyll origin gh-pages
For future reference, a force push
git push origin git subtree split --prefix jekyll master:gh-pages --force
```
Local generation
```sh
Normal push
git subtree push --prefix jekyll/_site origin gh-pages
For future reference, a force push
git push origin git subtree split --prefix jekyll/_site master:gh-pages --force
```
A website that uses this template
There are plenty of possible workflows in order to use this template for a website.
The main advantage of having a template that can be used for many websites is the possibility to split infrastucture, hosted in this jekyll-template repo, and the posts and optionally a different theme, hosted for instance by the username.github.io repository.
The git structure of the username.github.io repository we are currently using, keeping in mind that we want to have an easy way to maintain it aligned with possible infrastructure improvement provided by the template, is the following:
master: thetemplatebranch plus posts and the website themetemplate: a mirror ofjekyll-template:mastergh-pages: the subtree containing thejekyllorjekyll/_sitefolder
Optionally, an additional devel branch can be used to stage commits before reaching master.
For every new commit in jekyll-template, the mirror username.github.io:template should be updated, and username.github.io:master rebased on top of it. If the infrastructure and theme plus posts are kept enough independent, conflicts should be rare.
Owner
- Name: Artificial and Mechanical Intelligence
- Login: ami-iit
- Kind: organization
- Location: Italy
- Website: https://ami.iit.it/
- Repositories: 111
- Profile: https://github.com/ami-iit
GitHub Events
Total
Last Year
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Diego Ferigo | d****o@i****t | 26 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 8 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- ubuntu rolling build
- bootstrap ~> 4.0.0.beta development
- github-pages >= 0 development
- jekyll-assets >= 0 development
- jekyll-feed ~> 0.6 development
- jekyll-jupyter-notebook >= 0 development
- jekyll-tidy >= 0 development
- minima ~> 2.0
- tzinfo-data >= 0
- activesupport 4.2.8
- addressable 2.5.2
- autoprefixer-rails 7.1.3
- bootstrap 4.0.0.beta
- bundler 1.15.4
- coffee-script 2.4.1
- coffee-script-source 1.12.2
- colorator 1.1.0
- concurrent-ruby 1.0.5
- ethon 0.10.1
- execjs 2.7.0
- extras 0.3.0
- faraday 0.13.1
- fastimage 2.1.0
- ffi 1.9.18
- forwardable-extended 2.6.0
- gemoji 3.0.0
- github-pages 157
- github-pages-health-check 1.3.5
- html-pipeline 2.7.0
- htmlbeautifier 1.3.1
- htmlcompressor 0.3.1
- i18n 0.8.6
- jekyll 3.5.2
- jekyll-assets 2.3.2
- jekyll-avatar 0.4.2
- jekyll-coffeescript 1.0.1
- jekyll-default-layout 0.1.4
- jekyll-feed 0.9.2
- jekyll-gist 1.4.1
- jekyll-github-metadata 2.9.1
- jekyll-jupyter-notebook 0.0.2
- jekyll-mentions 1.2.0
- jekyll-optional-front-matter 0.2.0
- jekyll-paginate 1.1.0
- jekyll-readme-index 0.1.0
- jekyll-redirect-from 0.12.1
- jekyll-relative-links 0.4.1
- jekyll-sass-converter 1.5.0
- jekyll-seo-tag 2.3.0
- jekyll-sitemap 1.0.0
- jekyll-swiss 0.4.0
- jekyll-theme-architect 0.1.0
- jekyll-theme-cayman 0.1.0
- jekyll-theme-dinky 0.1.0
- jekyll-theme-hacker 0.1.0
- jekyll-theme-leap-day 0.1.0
- jekyll-theme-merlot 0.1.0
- jekyll-theme-midnight 0.1.0
- jekyll-theme-minimal 0.1.0
- jekyll-theme-modernist 0.1.0
- jekyll-theme-primer 0.5.2
- jekyll-theme-slate 0.1.0
- jekyll-theme-tactile 0.1.0
- jekyll-theme-time-machine 0.1.0
- jekyll-tidy 0.2.2
- jekyll-titles-from-headings 0.4.0
- jekyll-watch 1.5.0
- jemoji 0.8.0
- kramdown 1.13.2
- liquid 4.0.0
- listen 3.0.6
- mercenary 0.3.6
- mini_portile2 2.2.0
- minima 2.1.1
- minitest 5.10.3
- multipart-post 2.0.0
- net-dns 0.8.0
- nokogiri 1.8.0
- octokit 4.7.0
- pathutil 0.14.0
- popper_js 1.11.1
- public_suffix 2.0.5
- rack 1.6.8
- rb-fsevent 0.10.2
- rb-inotify 0.9.10
- rouge 1.11.1
- safe_yaml 1.0.4
- sass 3.5.1
- sass-listen 4.0.0
- sawyer 0.8.1
- sprockets 3.7.1
- terminal-table 1.8.0
- thread_safe 0.3.6
- typhoeus 0.8.0
- tzinfo 1.2.3
- unicode-display_width 1.3.0