Gugodoc 2014

  • I'm a big fan of minimalism.
  • I love markdown
  • I hate HTML

I know there's a lot of static generators on the web so you can ask why another one ?

Because :

  • they often need a server to render html pages (this is not what I call static)
  • they force me to learn a lot of commands (add page, build, serve, etc...)
  • they force me to change my markdown files.

I don't want that. I only want my markdown files to be exactly like on my harddisk and build a website or documentation from them. That's why I created Gugodoc.

  • Gugodoc don't need any server, you can open your html files in your browser directly
  • Gugodoc use only javascript (client-side) to add a minimum of fancy features
  • Gugodoc don't have commands, just run it once when all your markdown files are ready.

  1. Just get the zip file here.

  2. unzip it anywhere

gugodoc source_folder destination_folder

example

gugodoc ./in ./out

I'm french so I often use accents, this is why I decided to use only UTF8 files. Please encode all your markdown files with UTF-8 without BOM.

GugoDoc uses the alphabetic order to build its navigation page. So a simple method to reorder your pages is to use prefixes. For example if you want to have

  • page one
  • folder two
  • page three

rename them this way :

  • 1_page one.md
  • 2_folder two
  • 3_page three.md

CSS Style

Gugodoc uses only one css file.

It's located in ./base/main.css

You can tweak this file as you want.

HTML Template

If you need even more control, Gugodoc also uses one template file.

It's located in ./base/template.html

In this template 2 keywords are replaced by Gugodoc

  • %%TOC%% Table Of Content generated by Gugogoc

  • %%HTML%% Concatenation of all HTML pages

You can tweak this file as you want.

Each directory (even your root folder) is linked to a file called index.md This file must be available => Each folder must at least contain a file named index.md The index file can contain a "title meta-tag" to rename your folder. The content of this file will be shown when the folder is selected in the navigation panel.

Currently there is only one meta-tag : the title meta-tag. It allows you to change the title of your pages. This title will be shown in the navigation page. If no title meta-tag is found, the filename will be used instead.

In order to add a title meta-tag to your markdown file, add this block anywhere in your file :

---
title: Your New page Title
---

(FYI, this is called a YAML block. )

You can add a directory named 'raw' in your source directory. Everything inside this directory (files and subdirectories) will be copied as-is to the destination folder. Use this special folder for your raw assets (downloads, images, sounds, ...)

GugoDoc uses and embed a version of google-code-prettify get it here

If you want to highlight a piece of code just surround your code with this:

<pre class="prettyprint">
</pre>

Example :

<pre class="prettyprint">
class Voila {
public:
  // Voila
  static const string VOILA = "Voila";

  // will not interfere with embedded tags.
}
</pre>

Result :

class Voila {
public:
  // Voila
  static const string VOILA = "Voila";

  // will not interfere with embedded tags.
}

Of course, if you need more than markdown, you can directly insert any bootstrap features directly in your markdown files by using embedded html.

For example, to insert bootstrap alerts, you can directly add these lines in your markdown files

<div class="alert alert-success">...</div>
<div class="alert alert-info">...</div>
<div class="alert alert-warning">...</div>
<div class="alert alert-danger">...</div>
Success !!
Info : Gugodoc is great
Warning: Gugodoc is addictive
Danger: Gugodoc crash a lot

But, of course, I discourage you fro doing this because, in my opinion, markdwon files must try to be as lisible/raw/text only as possible.

Images use normal markdown syntax + Raw directory

For example

![Alt text](./raw/images/chili.jpg)

will produce this

Alt text

To insert Sounds:

  • use the standard HTML5 syntax directly in your markdown file
  • place your sound in the Raw directory
  • It's a good practice to provide both mp3 and ogg format to support more browsers.

Example

<audio controls>
  <source src="./raw/sound.ogg" type="audio/ogg" />
  <source src="./raw/sound.mp3" type="audio/mp3" />
  Your browser does not support the audio tag!
</audio>

To insert Videos:

  • use the standard HTML5 syntax directly in your markdown file
  • place your videos in the Raw directory
  • It's a good practice to provide multiple video formats to support more browsers.

Example

<video width="400" height="222" controls="controls">
  <source src="./raw/bunny.mp4" type="video/mp4" />
  <source src="./raw/bunny.webm" type="video/webm" />
  <source src="./raw/bunny.ogv" type="video/ogg" />
  Your browser sucks !!
</video>

Win32 Binaries

You can get latest Win32 version here.

OSX Binaries

You can get latest OSX version here.

Linux Binaries

You can get latest Linux (32bits) version here.

GugoDoc is a free software, available under the terms of a BSD-style open source license.

LICENSE

Copyright © 2014, Deliriom Software

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name “GugoDoc” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

Any question/remark/suggestion ? Email Me

Version 2014.0.01

  • Add Version number in help

Version 2013.1.00

  • Replace old frame system to new bootstrap modern look

Version 2012.0.06

  • Fix bug with firefox

Version 2012.0.05

  • Add Syntax Highlight via google-prettify

Version 2012.0.04

  • Fix some crashes

Version 2012.0.03

  • Add Footer

Version 2012.0.02

  • Add UTF 8 support
  • Now you can sort directories as well
  • Now you can rename directory entry through index.md

Version 2012.0.01

  • First Version
Any question/remark/suggestion ? Email Me