================== Documentation - Building the Website _____________
Github and VM VirtualBox _____________
Create repository for site Head over to GitHub and create a new repository named username.github.io, where username is your username (or organization name) on GitHub. Change Directory to the folder where you want to store your project, and clone the new repository: $ git clone https://github.com/username/username.github.io
manual git commit: cd to folder
git add –all git commit -m “Initial commit” git push
- git commit via QGIT:
Download QGit from Ubuntu Software Center The first start: Menu->Actions->Setup Actions->new name: push insert command to run: git push https://USERNAME:PASSWORD@github.com/OpenIndy/OpenIndy.github.io Username has to be your Username on Github and Password is its password
File->open -> go to directory of the repo Edit->commit -> insert commit message and select files to commit Actions-> push -> push the commit
- Create Shared Folder for VirtualBox:
VM Box Eigenschaften: Geräte->Gemeinsame Ordner -> neuen gemeinsamen Ordner “sharedFolderDesktop” anlegen In Ubuntu in Home/SoftwareDev neuen Ordner SharedFolder anlegen Terminal: $ sudo mount -t vboxsf sharedFolderDesktop ~/SoftwareDev/SharedFolder/ ( sudo mount -t vboxsf sharedFolder ~/SoftwareDev/SharedFolder/ )
- Create new Jekyll site:
change directory to folder $ gem install jekyll $ jekyll new username.github.io $ cd username.github.io
- Install theme with existing Jekyll site:
Download Minimal Mistakes and unzip.
Copy data to existing folder username.github.io
open terminal, change directory to username.github.io
Run $ sudo apt-get install bundler
$ bundle install to install all dependencies (Jekyll, Jekyll-Sitemap, Octopress, Bourbon, etc) Run $ git init Remove demo posts and change existing pages (banner etc.)
Setup theme: http://mmistakes.github.io/minimal-mistakes/theme-setup/
How Minimal Mistakes is organized and what the various files are. All posts, layouts, includes, stylesheets, assets, and whatever else is grouped under the root folder. The compiled Jekyll site outputs to _site/.
- Change confic.yml
“urls” is used to generate absolute urls in sitemap.xml, feed.xml, and for generating canonical URLs in <head>. change URL in config.yml to username.github.io For testing purposes set it to url: http://0.0.0.0:4000/
- Run the site locally
cd to site DIR $ jekyll serve –watch Info: the attachment –watch replaces the command “$ jekyll build” which is necessary to process the Markdown syntax IMPORTANT: If you change something in _config.yml you have to process the file manually by running $ jekyll build
Now open http://0.0.0.0:4000/ in the browser (in config.yml you first have to put in this localhost adress into “url:)
- Google Analytics and Webmaster Tools
Google Analytics UA and Webmaster Tool verification tags can be entered under owner in _config.yml. For more information on obtaining these meta tags check Google Webmaster Tools and Bing Webmaster Tools support.
- Adding New Content with Octopress
Install Octopress (https://github.com/octopress/octopress) gem if it isn’t already
$ gem install octopress –pre
Generate Sites manually: Create a file called “index.md” in a folder “newPage” cd to folder username.github.io, -> The Markdown will be processed automatically into HTML in folder _site (as index.html in folder newPage)
Generate Sites via octopress: To create a new page use the following command.
$ octopress new page name_of_page folder_of_page/
This will create a page at
Syntax of a site: Every site has to have a “front matter”. Front matter is a mini-configuration block that tells Jekyll about the page, including its title, layout, and other information. Front matter is placed inside of two sets of three dashes, like the following: — layout: default title: test tags: [test, theme, about] image: feature: banner_oi_proto.jpg — “image:feature” is important for the layout style to show a banner for example
The _layouts folder contains the layout informations like header, menu, and footer.
Landing Page Change _layouts/home.html to change the existing Homepage
Navigation To set what links appear in the top navigation edit _data/navigation.yml. Use the following format to set the URL and title. External links will open in a new window.
title: Download url: /download/
title: Wiki url: http://wikipedia.org
Change Copyright Text _includes/_footer.html
Changing CSS Style with Jekyll
Jekyll 2.x added support for Sass files making it much easier to modify a theme’s fonts and colors. By editing values found in _sass/variables.scss you can fine tune the site’s colors and typography.
For example if you wanted a red background instead of white you’d change $bodycolor: #fff; to $bodycolor: $cc0033;
- Generate New Posts
$ octopress new post “Post Title”
All of your posts will be saved in one directory “_posts”.
If you want to group them into subfolders like
/portfolio, etc. use this command:
$ octopress new post “New Post Title” –dir newDIR
By specifying the DIR it will create a new post in that folder (_posts/newDIR) and populate the
categories: YAML with the same value.
Change the “categories” syntax on the front matter (for example to “news”)
- Preview of a post in the post-list
In the Post you have to put in the following line, where you want to end the preview:
This is important, so that the formatting of the preview contant is correctly represented!!
- Feature Images The feature images live in the images/ folder. To add a feature image to a post or page just include the filename in the front matter like so.
image: feature: feature-image-filename.jpg thumb: thumbnail-image.jpg #keep it square 200x200 px is good
- Post with large feature image
layout: post title: “Post with Large Feature Image and Text” excerpt: “Custom written post descriptions are the way to go… if you’re not lazy.” tags: [sample post, readability, test] comments: true image: feature: sample-image-4.jpg credit: WeGraphics creditlink: http://wegraphics.net/downloads/free-ultimate-blurred-background-pack/ —
«This is the heading of a sample post with a large feature image
- Post Index Page
To change the name of the /post site, wich contains all posts grouped by the year they were published a few references have to be customized. For example, to change Posts to Writing update the following:
In _config.yml under links: rename the title and URL to the following:
- title: Writing url: /writing/
Rename posts/index.md to writing/index.md and update the YAML front matter accordingly. Update the View all posts link in the post.html layout found in _layouts to match title and URL set previously.
- Preview of a post in the post-list
Source: http://truongtx.me/2013/05/01/jekyll-read-more-feature-without-any-plugin/ Add the following Code, where you want to show a list of posts with a preview:
<article> <h2><a href="https://OpenIndy.github.io/news/bundle-adjustment/" title="OpenIndy version 0.6.0-14 online">OpenIndy version 0.6.0-14 online</a><br><br></h2> <div class="post-content-truncate"> Intro to bundle adjustment An open-source bundle adjustment is now implemented in the current version of OpenIndy. Here you can download OpenIndy version 0.6.0-14. The following blog will guide you through OpenIndy and how to use the bundle adjustment. To demonstrate a use-case where the bundle adjustment is useful, we will check if a tube is leveled. Preparation To check if the tube is leveled, we will measure a circle on both sides of the tube. To do so, we need to link our two lasertracker (LT) stations, one on each side. We solve this step by sticking 4 common... <nobr>...</nobr> </div> <p><a href="/news/bundle-adjustment/">Read more...</a><br><br><p> </article> <article> <h2><a href="https://OpenIndy.github.io/news/layout-with-openIndy/" title="layout with OpenIndy and Leica Lasertracker">layout with OpenIndy and Leica Lasertracker</a><br><br></h2> <div class="post-content-truncate"> Here is an example to mark up a layout with OpenIndy and a Leica Lasertracker AT402. Purpose of this task is to define your coordinate system for the production line, import the nominal points and mark their positions on the ground for later build up. To define the coordinate system, you may get the level information of your lasertracker first and then define the coordinate axis (e.g. in pillars of the factory). Workflow: import nominal points of the layout create geometries that define the coordinate system (level plane, points/ planes to define other coordinate axis (x or y axis on... <nobr>...</nobr> </div> <p><a href="/news/layout-with-openIndy/">Read more...</a><br><br><p> </article> <article> <h2><a href="https://OpenIndy.github.io/news/version050-13/" title="OpenIndy version 0.5.0-13 online">OpenIndy version 0.5.0-13 online</a><br><br></h2> <div class="post-content-truncate"> Version 0.5.0-13 is now online on github. The new released version includes all laser tracker types of the common manufacturers and supports their functionality (for Leica Lasertrackers, only AT401 /AT402 are supported). Additional to the implemented laser trackers this version also provides an amount of functionality to measure basic geometries, make three- dimensional analysis with this gathered data, and construct more geometries out of the measured ones. Also you can check angles and distances between geometries and measure / use level information of the laser tracker to use for adjustments and evaluations. You have different possibilities to transform your tracker... <nobr>...</nobr> </div> <p><a href="/news/version050-13/">Read more...</a><br><br><p> </article> <article> <h2><a href="https://OpenIndy.github.io/news/version021/" title="OpenIndy version 0.2.1 online">OpenIndy version 0.2.1 online</a><br><br></h2> <div class="post-content-truncate"> The version 0.2.1 of OpenIndy is now available. It is an alpha version and is therefor not intended for productive use, yet. Nevertheless you may play around with it and maybe even give use feedback.
OpenIndy is delivered with a default plugin which contains basic functionality for fitting geometries like planes, circles, spheres etc.. Furthermore there is a virtual laser tracker implementation available which simulates a real laser tracker.
If you have got any questions please do not hesitate to send us a mail.
You may download the source and the compiled binaries (Windows 7 32bit) here.
</div> <p><a href="/news/version021/">Read more...</a><br><br><p> </article> <article> <h2><a href="https://OpenIndy.github.io/news/welcome/" title="A short overview of OpenIndy">A short overview of OpenIndy</a><br><br></h2> <div class="post-content-truncate"> <p><em>OpenIndy is …</em></p>
- Open Source - easy customization and expansion
- User friendly - clear graphical user interface and table view
- Honestly - all analysis processes are transparent and their results fully visible
- Accurately - consistent implementation of variance propagation
For whom is it intended?
</article> !! In the Post itself you have to put in the following line, where you want to end the preview: !! - Author Override By making use of data files you can assign different authors for each post. The owner variables are defined in config.yml. Start by modifying authors.yml file in the _data folder and add the authors using the following format: # Authors billy_rick: name: Billy Rick web: http://thewhip.com email: firstname.lastname@example.org bio: "What do you want, jewels? I am a very extravagant man." avatar: bio-photo-2.jpg twitter: extravagantman google: plus: +BillyRick To assign Billy Rick as an author for the post, add the following YAML front matter to a post: author: billy_rick - ScrollToTop of site arrow http://www.webtipblog.com/adding-scroll-top-button-website/ Style Config can be changed in _includes/_head.html - Tables http://www.csstablegenerator.com/ in /_includes/_head.html there is a .CSSTableGenerator style with the parameters of a table In the .md fle you have to put in the raw html-code like this:
for new lines - Generating a Table of Contents: Any post or page that you want a table of contents to render insert the following HTML in your post before the actual content. Kramdown will take care of the rest and convert all headlines into a contents list.