o2r-project / o2r-project.github.io

Website of the research project "Opening Reproducible Research"
https://o2r.info
Creative Commons Attribution 4.0 International
3 stars 14 forks source link

o2r

DOI

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.

Building the site

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.

Publishing site repository and PDF on Zenodo

Deposit new posts on Zenodo

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

Useful stuff

Authoring posts & publishing drafts

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

Images

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.

Excerpts

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:

Ribbon

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.

Exclude pages from menu

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.

Footnotes

Testing footnotes[^2] for *Opening Reproducible Research*[^1].

[^1]: would be useful!
[^2]: yes, no promises on results...

License

Except where otherwise noted site content created by the o2r project in this repository is licensed under Creative Commons Attribution 4.0 International License.