This is the project website of the DFG-funded research project "Opening Reproducible Research" by Institute for Geoinformatics (ifgi) and University and Regional Library (ULB), University of Münster, Germany
The design is based on Hyde by Mark Otto.
You must have ruby (preferably 3.0.1 or latest) installed in your computer. From your terminal, install the following gem packages (required by Poole):
gem install jekyll jekyll-gist jekyll-sitemap jekyll-seo-tag
Navigate to the root directory of the website (the one containing the Gemfile of the project) and run the following command:
bundle install
Run the site locally with
bundle exec jekyll serve
The website should be running at localhost:4000.Use the --draft
switch to preview the draft posts.
After each new blog post is published, a Zenodo deposit (first deposit https://zenodo.org/record/1485438
) with a PDF of all blog posts and relevant pages is updated automatically using a GitHub action, see Makefile
and .github/workflows/deposit.yml
for details.
For the automatic deployment, a Zenodo token with write access to the deposit above must be stored as a Repository secret.
NOTE: Make sure to disable the workflow on forks.
The PDF file o2r_project_website_and_blog.pdf
is generated from a special page at http://127.0.0.1:4000/all_content/ (file all_content.md
) using wkhtmltopdf
.
An archive of the current repository HEAD
is zipped into o2r_project_website_and_blog_git-repository.zip
.
Both these files are then published to Zenodo with the Zenodo API by the file zenodo_release.py
.
The environment variable ZENODO_TOKEN
must have a valid API key for Zenodo (or for Zenodo Sandbox for testing).
The process is controlled with the make target update_zenodo_deposit
or directly with
ZENODO_TOKEN=... python3 zenodo_release.py
# increase logging output for testing with LOGLEVEL=DEBUG
You can use jekyll-compose to streamline some tasks, e.g.
bundle exec jekyll draft "My new draft"
bundle exec jekyll publish _drafts/my-new-draft.md
We use the kramdown parser engine and subsequently can use some advanced syntax (e.g. for named lists, image resizing, quotes, and more).
To float images, use the CSS classes .img.leftfloat
or .img.rightfloat
, for example ![geocontainers logo](http://geocontainers.org/img/geocontainers-logo.png "geocontainers logo"){:width="100" .img.rightfloat}
Note: When the rendering engine is changed, these changes are prone to break.
The file index.html
contains some logic trying to do a clever handling of the post excerpts, i.e. the texts that are shown in the listing of posts. The procedure is as follows:
- If the
disable_excerpt
attribute is set totrue
, show the full content and do not show the "Read more" link. This is useful for short posts. - If the number of paragraphs in the post's excerpt is the same as the number of paragraphs of the post content, then see above. This is so that no "Read more" link is put on pages with no further text.
- In any other case, show the excerpt and add a "Read more" link. You can set the length of the excerpt manually by using Jekyll's default tag
<!--more-->
.
A generic "Fork me" ribbon has been added and can be configured (text, link) in the file _config.yml
. The color is configured in public/css/o2r.css
. The ribbon appears on all pages via _layouts/default.html
, and stylesheets are included in _includes/head_default.html
if enabled.
If you do not want a page to appear in the left hand side menu, include the parameter exclude_from_nav: true
in the page's frontmatter.
Testing footnotes[^2] for *Opening Reproducible Research*[^1].
[^1]: would be useful!
[^2]: yes, no promises on results...
Except where otherwise noted site content created by the o2r project in this repository is licensed under Creative Commons Attribution 4.0 International License.