Custom Styling¶
Theme Customization¶
A lot can be found on the main website
 itself.
The color table to choose the main and accent colors can be found on the Getting Started page.
Themes¶
- MkDocs Themes
- 12 Bootswatch themes
- Cinder theme
- Alabaster theme (quite simple)
- Bootstrap theme
Custom Theme¶
Note
If you are looking for third party themes, they are listed in the MkDocs
community wiki.
It is possible to add extra customization via a Custom Theme option.
- create custom_themeandcustom_theme/cssdirectories parallel to thedocsdirectory
- inside the custom_theme/cssdirectory createextra.lessfile with your styles
- use any LESS compiler to compile the extra.lessfile to the minifiedextra.min.cssand its mapextra.min.css.map
- add the following lines to mkdoc.ymlunder thethemevariable:
| 1 2 3 4 | theme theme_dir: custom_theme extra_css: - css/extra.min.css | 
- now when you build and serve the website, you should see the custom styling in action
Similarly, it is possible to add extra JavaScript inside the custom_theme/js directory. You add the corresponding setting to the mkdocs.yml file:
| 1 2 3 4 | theme theme_dir: custom_theme extra_javascript: - js/your-js-file.min.js | 
The 10 Tips for Writing JavaScript without jQuery article is a good read to write custom JavaScript without using jQuery.
Extensions¶
Admonition¶
Admonition extension for the MkDocs Markdown provides for a way to draw attention of the reader. In order to use this extension
Syntax¶
| 1 2 | !!! special_word "some text within double quotes"
    Any number of lines aligned with the special_word
 | 
- 3 exclamation marks ( !!! ) at the beginning of the line
- 1 space
- 1 special word (see below)
- 1 space
- (optional) some text within double quotes
- (optional) 1 empty line
- (optional) any number of lines beginning at pos. 4 (aligned with the special word after the exclamation marks)
Special words¶
These special words result in a colored adminition blocks. It is nice to experiment with them.
- note,- seealso- light blue
- important,- hint,- tip- green
- warning,- caution,- attention- beige/brown
- danger,- error- pink/red
Note
The special word can be also any other word. In that case, the color will always be light blue.
Examples¶
A custom text message on the first line…¶
| 1 2 3 4 | !!! note "Explicit title within double quotes"
    Any number of other indented markdown elements.
    And this is the second paragraph.
 | 
…replaces the 1st word:
Explicit title within double quotes
Any number of other indented markdown elements.
And this is the second paragraph.
Any single word on the first line…¶
| 1 2 3 | !!! hint
    You should note that the title will be automatically capitalized.
 | 
…will be capitalized:
Hint
You should note that the title will be automatically capitalized.
The empty custom title…¶
| 1 2 3 | !!! warning ""
    This is an admonition box without a title.
 | 
…results in no title:
This is an admonition box without a title.
The word “danger” plus custom title…¶
| 1 2 3 | !!! danger "Don't try this at home"
    Or you will regret it for the rest of your life!
 | 
…results in the red background:
Don’t try this at home
Or you will regret it for the rest of your life!
SmartyPants¶
Adding
| 1 2 | - smarty: smart_angled_quotes: true | 
to markdown_extentions gives you the possibility to print out nicely looking ASCII dashes, quotes and ellipes:
| you write | you get | 
|---|---|
| 'single quotes' | ‘single quotes’ | 
| "double qoutes" | “double qoutes” | 
| <<angled quotes>> | «angled quotes» | 
| ... ellipsis | … ellipsis | 
| -- ndash | – ndash | 
| --- mdash | — mdash | 
nl2br extension¶
Adding
| 1 | - nl2br | 
to markdown_extentions creates a newline within fences when you make a newline in Markdown. You type:
| 1 2 | line 1 line 2 | 
Without nl2br you see this:
| 1 | line 1 line 2 | 
With nl2br you see this:
| 1 2 | line 1 line 2 | 
Lato Font¶
This font is one of the free Google fonts: Lato Google Font. In order to use it, the following line should be added to the /spreadsheets/extra.css file:
| 1 | @import url('https://fonts.googleapis.com/css?family=Lato'); |