Skip to content

Commit

Permalink
configure Jekyll and add about page
Browse files Browse the repository at this point in the history
Reverted the Jekyll theme to minima for now, to allow local preview.
Configured Jekyll to show meaningful project description etc.
Edited the about page to give a context for the project.
  • Loading branch information
arnemertz committed Jul 27, 2021
1 parent 366e452 commit d7685ad
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 23 deletions.
2 changes: 1 addition & 1 deletion docs/Gemfile
Expand Up @@ -8,7 +8,7 @@ source "https://rubygems.org"
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
# This is the default theme for new Jekyll sites. You may change this to anything you like.
#gem "minima", "~> 2.5"
gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
gem "github-pages", group: :jekyll_plugins
Expand Down
1 change: 1 addition & 0 deletions docs/Gemfile.lock
Expand Up @@ -216,6 +216,7 @@ PLATFORMS
DEPENDENCIES
github-pages
jekyll-feed (~> 0.12)
minima (~> 2.5)
tzinfo (~> 1.2)
tzinfo-data
wdm (~> 0.1.1)
Expand Down
15 changes: 7 additions & 8 deletions docs/_config.yml
Expand Up @@ -18,19 +18,18 @@
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.

title: Your awesome title
email: your-email@example.com
title: Fix - Documentation and Dev Diary
email: fix@arne-mertz.de
description: >- # this means to ignore newlines until "baseurl:"
Write an awesome description for your new site here. You can edit this
line in _config.yml. It will appear in your document head meta (for
Google search results) and in your feed.xml site description.
You can find the dev diary <a href="https://arne-mertz.de/category/fix-dev-diary/>at my blog</a>
as well, among posts about C++ and maintainable code.
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: jekyllrb
github_username: jekyll
twitter_username: arne_mertz
github_username: arnemertz

# Build settings
theme: jekyll-theme-slate
theme: minima
plugins:
- jekyll-feed

Expand Down
@@ -1,23 +1,33 @@
---
layout: post
title: "Dev diary 2021-07-25"
title: "Dev diary week 1"
date: 2021-07-25 18:16:05 +0200
---

## July 25th, 2021: Setup

Today's work was mostly preparation for the actual start of the project - or restart, I should say.

## [add initial project structure](https://github.com/arnemertz/fix/commit/d98d4e901ee5092476ea5df95e0e006e609d1bc1)
### [Add initial project structure](https://github.com/arnemertz/fix/commit/d98d4e901ee5092476ea5df95e0e006e609d1bc1)

I copied a bunch of configuration files from my docker4c_test project, which is in turn based on Jason Turner's [cpp_starter_project](https://github.com/lefticus/cpp_starter_project). I trimmed a few things from the CMake files, e.g. I won't be using GUI stuff for now, and went through clang-format line by line to adapt it to my style.

I removed all the code and replaced the main program with a simple hello world application. Unit tests are gone, too, all that remains is the catch_main library.

There will be some more setup to be done in the next couple of days, e.g. adding libraries, setting up the behave testing framework, etc. I'll not set those up right now, but when I need them for the first time.

## [install jekyll](https://github.com/arnemertz/fix/commit/b950b058031d5c711e8d8cdc0cebd286f6bb43bd)
### Setting up the Documentation

The one thing I need right now is Jekyll, as I want to have the dev diary and additional documents served on GitHub pages in addition to publishing them on the blog. I spent way too much time trying to get a local preview of the pages. It seems I have overlooked something in the docs or something changed recently - none of the GitHub pages themes can be found.

I'll leave it as it is for now and open an issue on one of the theme pages as I followed their documentation to the letter. I'll still have to figure out how to structure the GitHub page, so it might take some time until there's more than an empty page.

## July 26th, 2021: Fighting Jekyll

### [Install Jekyll](https://github.com/arnemertz/fix/commit/b950b058031d5c711e8d8cdc0cebd286f6bb43bd)

I installed Jekyll yet again, fought a few things I overlooked before, but it still won't work. I'll leave it as it is for now and open an issue on one of the theme pages as I followed their documentation to the letter. I'll still have to figure out how to structure the GitHub page, so it might take some time until there's more than an empty page. It's a bit frustrating.





32 changes: 24 additions & 8 deletions docs/about.md
Expand Up @@ -4,15 +4,31 @@ title: About
permalink: /about/
---

This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/)
## What is Fix?

You can find the source code for Minima at GitHub:
[jekyll][jekyll-organization] /
[minima](https://github.com/jekyll/minima)
Fix is a toy project. It is meant to become an issue tracker with a quirk: The issue database is stored alongside the code in your Git repository. That way, when you fix a bug in your local branch and close the issue, it remains open on every other branch - until the bugfix is merged, and the state change of the issue with it.

You can find the source code for Jekyll at GitHub:
[jekyll][jekyll-organization] /
[jekyll](https://github.com/jekyll/jekyll)
I've come across the idea a couple of years back in a version control system named [Veracity](http://veracity-scm.com/) that has since been discontinued. I know, that does not look promising regarding the feasibility of the project, but I'm fine with that.


[jekyll-organization]: https://github.com/jekyll
## Why is Fix?

Fix is meant primarily for me to practice things I have not done extensively in the past months and to learn new things I have not done at all. I also will take topics I encounter during development and [blog](https://arne-mertz.de) about them. In addition, there's a developer diary, as an experiment to document my thoughts and development process.

The topics I want to practice/learn include, but are definitely not restricted to:
- Test Driven Development (TDD). Yes, I know. I should have this down by now, but there's always something to learn in that area. Besides, in the projects I have been working on at work recently, TDD was not really much of a thing. I want to get into the habit of doing htis automatically again.
- Behavior Driven Development (BDD). Think of it loosely as test driven, but on the feature and requirements level. (I'll probably be called out for that). I'll use the Behave framework, which means writing some Python which I want to practice, too. I have [written about BDD and behave](https://arne-mertz.de/2016/12/bdd-python-behave/) in the past.
- Domain Driven Design (DDD). I know the basics in theory, but never actually used it in projects. I've used elements of it, but not properly with bounded contexts, hexagonal architecture and all the bells and whistles. I'll probably commit mistakes especially in this area, so point them out to me, I'm eager to learn.
- C++20. I haven't been able to use more than C++14 in the last years at work, I've done some C++17 tinkering on the side, but C++20 is mostly new to me.
- CMake. There's always more to learn in that regard. I know the basics here, as well. With this project, I hopefully have a reason to dig deeper.
- Frameworks and libraries I haven't used before or not in a long time. Like Catch2 for unit tests, and who knows what I will use for other purposes.

## Where is Fix?

The project itself can be found [on GitHub](https://Github.com/arnemertz/fix), together with the dev diary. The dev diary will also be published [on my blog](https://arne-mertz.de/category/fix-dev-diary/). More detailed blog posts about the topics I encounter will be published exclusively on the blog, but I might link to them from the dev diary.

If you look at the link to the BDD post above, or into the project history at GitHub, you'll see that I started this approximately 5 years ago. This is a complete restart, from scratch, and I hopefully stick longer to it than last time.

## Who is Fix?

You mean, why the name? Back in the day when I was looking for a name I already knew it should be integrated into Git repositories. So it was "... in Git". Or "...ing it". Ah. "Fixing it" seemed good for an issue tracker, so it will be "Fix in Git" when it's done and actually integrated - and Fix until then.
3 changes: 1 addition & 2 deletions docs/index.md
Expand Up @@ -3,10 +3,9 @@
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults

layout: home
title: documentation
title: Dev Diary
---

# Dev Diary
{% for post in site.posts %}
- [{{ post.title }}]({{ site.baseurl }}{{ post.url }})
{% endfor %}

0 comments on commit d7685ad

Please sign in to comment.