Go to file
2020-05-05 07:53:49 +02:00
_drafts + publishing raspberry pi bluetooth speaker part 1 2020-05-04 23:01:29 +02:00
_includes + render & display in full size inline plantuml diagrams 2020-04-16 23:49:22 +02:00
_layouts
_plugins + render & display in full size inline plantuml diagrams 2020-04-16 23:49:22 +02:00
_posts Merge branch 'master' of github.com:nicolabs/nicolabs.net 2020-05-04 23:01:47 +02:00
_preposts + notes about multi-arch docker 2020-05-04 22:56:11 +02:00
_sass Fixes #19 2020-05-05 07:53:49 +02:00
assets + render & display in full size inline plantuml diagrams 2020-04-16 23:49:22 +02:00
docs Merge branch 'master' of github.com:nicolabs/nicolabs.net 2020-05-04 23:01:47 +02:00
.editorconfig
.gitignore assets/uml is gitignored (not docs/assets/uml) 2020-04-18 22:30:52 +02:00
.gitmodules + render & display in full size inline plantuml diagrams 2020-04-16 23:49:22 +02:00
.nojekyll
_config.yml + render & display in full size inline plantuml diagrams 2020-04-16 23:49:22 +02:00
about.md + render & display in full size inline plantuml diagrams 2020-04-16 23:49:22 +02:00
articles.html
CNAME
Gemfile + render & display in full size inline plantuml diagrams 2020-04-16 23:49:22 +02:00
Gemfile.lock ~ libraries upgrade 2020-05-04 22:52:32 +02:00
index.html + render & display in full size inline plantuml diagrams 2020-04-16 23:49:22 +02:00
LICENSE.md + render & display in full size inline plantuml diagrams 2020-04-16 23:49:22 +02:00
README.md + render & display in full size inline plantuml diagrams 2020-04-16 23:49:22 +02:00
tags.html

Source code for https://www.nicolabs.net

Setup

Assets/blog folder

The assets/blog folder gathers asset files used in articles.

It keeps the same layout as the previous wesite located from http://www.nicobo.net/sites/default/files in order to ease migration of URLs, but the pictures subfolder may not be used for new assets.

The new layout is :

3rdparty/       # local copy of remote pictures, some modified (e.g. resized)
    \_ logos/   # icons & logos of third party products
    \_ images/  # photos & pictures taken from external sources
screenshots/    # screen captures or alike used to illustrate some articles

Previewing locally

Run bundle exec jekyll serve --livereload -H '*' --drafts to start a local server with automatic reload and drafts preview.

Drafts

Jekyll drafts (articles in _drafts/) are absolutely not ready for publication. Some of them are still old documents I've never finished... On the other hand, articles tagged with draft (in _posts/) are published with a special mention so that they hopefully can be useful to anybody : old drafts are slowly being published with this draft mention. There are other mentions (unpublished, draft, good, stable, deprecated) to indicate articles' maturity.

See Migrating from Drupal to Jekyll for the explanation. Most of the code lies in _includes/maturity.html and _sass/nicolabs/*.scss in order to :

  • display the maturity label in each article's header
  • advertise unstable articles in indexes (index.html, tags.html)
  • remove drafts from the default feed

Fullscreen pictures & PlantUML diagrams

I found it to be necessary to better display PlantUML diagrams.

This is implemented with :

  • a modified version of jekyll-plantuml
    • because it is the Jekyll integration advertized on plantuml.com
    • however it generates only <svg> inside <object>, which is not fullscreen-compatible OOTB => I replaced with <img> using the generated SVG as source
    • and it generated files in the root of the project
    • TODO anyway a replacement that uses Markdown standard ```plantuml rather than Jekyll-specific {% plantuml %} syntax should be found
  • assets/lib/screenfull.js polyfill (seen at Modernizr) and a few lines of code to activate it
  • very few CSS

Based on :

Publishing

  1. Update Ruby gems & build the final site without drafts :

    bundle update bundle exec jekyll build

  2. Add, commit & push files into the master git branch, including the docs directory (same as Jekyll's _site directory, but renamed for github pages)

See Bypassing GitHub's Jekyll limitations for more informations.