6.9 KiB
Contributing
Pull Requests from our design, development and operations teams of Haufe.Group and its subsidiaries are greatly appreciated. If you've never contributed to an open source project before we are more than happy to walk you through how to create a pull request.
The short version of it is to fork this repo into (a) a repo of your own account under (b) the name [your_account_name].github.io
. Upon your first commit the blog should be published at http://[your_account_name].github.io
. In this way you can add your changes and test them live. When you are finished create a pull request with your changes and submit it against our blog repo.
Support for Categories and Tags were inspired by this blog entry. A list of the defined categories and tags can be found at _data/categories.yml
and _data\tags.yml
respectively. If you want to add new categories or tags, you need to add them to the corresponding .yml
file and add the matching template into the meta/category
or meta/tag
directories. Please do not go overboard with adding new categories and tags but try to stay within the ones we have. On the other hand - if you feel strongly about adding one, feel free to submit a pull request.
Author support was inspired by this blog entry. In order to add information on a new author, edit the _data/authors.yml
file, then use the new key as author
link in the posts. If an author cannot be found in authors.yml
, the content of the author
tag will be used verbose. In that case, no links to any social media (Twitter, Github and LinkedIn are currently supported) will be included.
If you want to find out more about using github-pages
for blogging or want to improve our blog the following links might be good starting points
- Jekyll documentation, i.e. how to include images
- Github pages powered by Jekyll
- Liquid Documentation here and here
Please note to set the proxy if you are working from within the Haufe Intranet
set HTTP_PROXY=http://10.12.1.236:8083/
set HTTPS_PROXY=http://10.12.1.236:8083/
If you find bugs or issues you can open an issue describing the problem that you're looking to resolve and we'll go from there.
Setting up jekyll on Mac OS X
If you happen to have Mac OS X device, it is a lot simpler to test your additions using the jekyll
command line directly; you don't have to set up github pages, and you can still verify everything is fine.
To install jekyll
, issue the following command in Terminal (I here assume you have the Mac OS X developer command line tools installed, which include ruby/gem):
$ sudo gem install jekyll
That will take a while. After that, cd
into your Haufe-Lexware.github.io
git clone (on your own fork obviously) and issue a
$ jekyll build
This will throw a couple of errors due to missing gems; install them one after the other in the order they occur:
$ sudo gem install jekyll-paginate
$ ...
Eventually (and hopefully) your jekyll build
will succeed. After the build has succeeded, you can do a jekyll serve
, and after that, you can browse the site locally on http://127.0.0.1:4000
.
Note: The https_proxy
setting is also needed on Mac OS X if you're inside the Haufe intranet:
$ export http_proxy=http://10.12.1.236:8083
$ export https_proxy=https://10.12.1.236:8083
Setting up jekyll on Windows
The short version of this is: It's complicated, and not actually advisable.
The most promising path to doing this is most probably to set up a Linux VM and do it from there; that involves setting up ruby correctly, which may also be challenging, but it's still a lot simpler (and more supported) than directly on Windows.
But you can try this:
Setting up jekyll using docker
Note: This will work both on Windows and Mac OS X, in case you do not want to "pollute" your local machine with ruby packages.
If you have a working docker
setup on your machine, you can use the prepackaged docker image by the jekyll team to try out the blog generation using that image.
Pull the jekyll/jekyll:pages
image to get something which behaves almost exactly (or really close to) the github pages generation engine:
$ docker pull jekyll/jekyll:pages
Inside the docker Quickstart terminal, cd
into your Haufe-Lexware.github.io
fork containing your changes, and then issue the following command:
$ docker run --rm --label=jekyll --volume=$(pwd):/srv/jekyll \
-it -p $(docker-machine ip `docker-machine active`):4000:4000 \
jekyll/jekyll:pages
If everything works out, the jekyll server will serve the blog preview on http://<ip of your docker machine>:4000
. More information on running jekyll inside docker can be found here: github.com/jekyll/docker.
Using docker for Mac and Windows beta
Using docker for Mac and Windows beta, the command looks a little simpler, as docker-machine
is not involved:
$ docker run --rm --label=jekyll --volume=$(pwd):/src/jekyll \
-it -p 4000:4000 jekyll/jekyll:pages
Jekyll will then be served from localhost, just like from Linux.
Setting up jekyll using Kitematic
If you are working with Kitematic (which has fewer proxy issues behind company firewalls than the Quickstart terminal), follow these steps:
First make sure the local copy of your Haufe-Lexware.github.io clone is located somewhere under your documents folder, for example:
C:\Users\<username>\Documents\GitHub\Haufe-Lexware.github.io
In Kitematic, click on the "DOCKER CLI" button (lower left), opening a power shell window.
Pull the jekyll/jekyll:pages
image:
> docker pull jekyll/jekyll:pages
In this environment, you cannot use the mapping variables $(pwd) or $(docker-machine ...), so you need to enter two things explicitly:
-
The path to your local repository in the following format, for example:
/c/Users/<username>/Documents/GitHub/Haufe-Lexware.github.io
-
The ip of your docker VM. To get this, enter
> docker-machine ip
Now enter the following to compile the project and start the web server:
> docker run --rm --label=jekyll --volume=/c/Users/<username>/Documents/GitHub/Haufe-Lexware.github.io:/srv/jekyll -it -p 192.168.99.100:4000:4000 jekyll/jekyll:pages
(replacing the path and ip with your values)
The web server should now be running, so start your browser at http://<ip>:4000
to see the results. When finished, shut down the web server with ^C
in the power shell window.