export JEKYLL_VERSION=3.8
docker run \
--rm \
--volume="$PWD:/srv/jekyll" \
--volume="$PWD/vendor/bundle:/usr/local/bundle" \
--interactive \
--tty \
"jekyll/jekyll:$JEKYLL_VERSION" \
jekyll buildexport JEKYLL_VERSION=3.8
docker run \
--rm \
--name jda-tech-blog \
--volume="$PWD:/srv/jekyll" \
--volume="$PWD/vendor/bundle:/usr/local/bundle" \
--publish 4000:4000 \
--interactive \
--tty \
"jekyll/jekyll:$JEKYLL_VERSION" \
jekyll serve --watch --drafts- Use your personal GitHub account instead of the manage BY enterprise user account (s. Managing multiple accounts).
- Ask Gabriel Kohen for write access to the repository.
Create a new markdown file _posts/<YYYY>-<MM>-<DD>-<some-title>.markdown:
---layout: singletitle: "<Some Title>"date: <YYYY>-<MM>-<DD> <HH>:00:00 +0100tags: technology python data-engineeringheader:
overlay_image: assets/images/tech_gear_banner.jpg # can also be a different assetoverlay_filter: 0.2show_overlay_excerpt: falseauthor: <Author Name> # as used in `authors.yml`author_profile: true---# Some Title
Foo bar.
## Section 1
...Please test your post locally before publishing it. You can use the jekyll serve command shown in the
"Serving an existing site" section to have the page hosted locally and automatically reload when you make changes.
See GitHub Flavored Markdown Spec.
Please make sure the post filename and the date in the YAML front matter are in-sync. For may choose your local time zone and some appropriate time (like 10AM).
Every author must be registered, see "How To: Add a new author". If the post is written by multiple authors, a "multi-author" must be registered there.
If you want to use pictures, add them to assets/images/<YYYY>-<MM>-<DD>-<some-title>/ (or as
assets/images/<YYYY>-<MM>-<DD>-<some-title>.png if you only have a single file). They can also be used as a header
image.
In general, prefer vector images (SVG) for rasterized images and uncompressed data (PNG) for compressed images. There are exceptions though (like photos).
Example:
Global URL: http://0.0.0.0:4000/introducing-kartothek/
local URL: introducing-kartothek
To link other posts (like above example) in your current post, please use the following local URL syntax instead of a global URL:
[Another Post](../local URL/)In _data/authors.yml, add a new author:
Author Name:
name: "Author Name"avatar: "assets/images/authors/<author_name>.jpeg"# optionallinks: # optional, you can also add a subset
- label: "Twitter"icon: "fab fa-fw fa-twitter-square"url: "https://twitter.com/<twitter_handle>"
- label: "Github"icon: "fab fa-fw fa-github-square"url: "https://github.com/<github_handle>"
- label: "LinkedIn"icon: "fab fa-linkedin"url: "https://www.linkedin.com/in/<linkedin_id>"The author avatar (if used) must be added as assets/images/authors/<author_name>.jpeg.
For "multi-authors" (e.g. if a blog post was written by multiple people), a special entry must be added:
Author1 Name1 & Author2 Name2:
name: "Author1 Name1 & Author2 Name2"# no avatar used, or you find a picture of all authorslinks: # optional, you can also add a subset
- label: "Author1s' Twitter"icon: "fab fa-fw fa-twitter-square"url: "https://twitter.com/<twitter_handle1>"
- label: "Author2s' Twitter"icon: "fab fa-fw fa-twitter-square"url: "https://twitter.com/<twitter_handle2>"# ...Curly brackets in documented code snippets are conflicting with Jekyll's Liquid templating engine.
For instance, when you want to document GitHub Actions workflows.
e2e-test:
needs: build-deployuses: ./.github/workflows/e2e_test.execution.ymlsecrets: inheritwith:
app-url: ${{ needs.build-deploy.outputs.app-url }}The line app-url: ${{ needs.build-deploy.outputs.app-url }} will cause a Liquid syntax error because the curly
brackets are interpreted as Liquid syntax.
To escape them, treat the opening brackets as a Liquid variable that outputs them as a string: {{ '{{' }}.
The closing brackets don't need to be escaped.
e2e-test:
needs: build-deployuses: ./.github/workflows/e2e_test.execution.ymlsecrets: inheritwith:
app-url: ${{ '{{' }} needs.build-deploy.outputs.app-url }}