a merging of the dusk and potato-dark themes for hugo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Zane C. B-H d82667fe51
Merge pull request #4 from 0xflotus/patch-1
1 year ago
archetypes correct the no_pagination line 5 years ago
exampleSite add a missing bit 4 years ago
images Add files via upload 5 years ago
layouts update for 0.57.0 4 years ago
static misc 4 years ago
.gitignore copy potato-dark for merging 5 years ago
CHANGES.md Update CHANGES.md 4 years ago
LICENSE.md update the LICENSE 5 years ago
README.md fix: small error 2 years ago
theme.toml whoops, had my name set to the name of the theme 5 years ago


Dusky Neon Potato license

Outrun with the power of a potato. Based on the Potato Dark theme with CSS bits inspired by Dusk.



  • Support for tags
  • Responsive design
  • Support for Related Content
  • Analytics with Google Analytics
  • Modern, Simple and beautiful design
  • Medium's Image Zoomzoom.js)
  • Social links most social networks available
  • Inlined CSS for customizable colors via config.
  • Outrun inspired foreground colors on a dark background, by default.
  • Can turn off pagination.
  • The ability to enable sorting of tables for pages.
  • Graphing via C3.
  • Can set a page to refresh via Front Matter.


Use hugo's -t dusky-neon-potato or --theme=dusky-neon-potato option with hugo commands. Example:

$ hugo server -t hugo-dusky-neon-potato -w -D


Image Zoom

Use short code for Image Zoom.

{{% zoom-img src="/images/default.jpg" %}}


To enable graphing, you first need to set 'graphing' to true in Front Matter as below. With out that, none of the shortcodes will work properly as the required CSS and JS will not be included in the header.

graphing: true

Currently the possible charts that can be made with out issue are as below.

  • line
  • spline
  • bar
  • scatter
  • pie
  • donut
  • gauge

Below is a example of creating a chart.

{{% chart-place chart="example" %}}

{{% chart-generate url="https://foo.bar/c3_test.csv" type="line" chart="example" yLabel="Y1 label" xLabel="X label" %}}

Graphing is handled by C3 and you can find the documentation at https://c3js.org/reference.html .


This short code places the HTML that the JS will bind to.

Variable Default Description
chart chart The name of the chart.


This generates the chart and binds it to the HTML.

Variable Default Required Description
chart chart no The name of the chart.
url null yes The URL for the CSV.
type line no The type of chart it is.
x null no The column name to use for X axis info.
xLabel null no The label for the X axis.
yLabel null no The label for the Y axis.
xType null no The type of data for the X axis.
xFormat null no The format for the X ticks, largely for use if xType is set to 'timeseries'.
axis-rotated null no If X and Y should be reversed.
grid-x-show null no If the X grid should be shown. Set to 'true' to enable.
grid-y-show null no If the X grid should be shown. Set to 'true' to enable.
legend-hide null no If defined, this hides the legend.
zoom-enable null no If defined, this enables zooming.
zoom-rescale null no If defined, this enables rescaling when zooming.
subchart-enable null no If defined, this enables shows a sub chart, which can be useful when zooming.
subchart-size null no Used for setting a custom subchart size.
size-height null no Set a specific height for the chart.
size-width null no Set a specific height for the chart.

Please note that while C3 supports area and gauge, this currently lacks support for those.

chart-complex-start / chart-complex-stop

As to how to start using this, it is highly started reading https://c3js.org/gettingstarted.html .

Variable Default Required Description
chart chart no The name of the chart to bind to.
{{% chart-complex-start chart="foo" %}}
    data: {
      columns: [
        ['data1', 30, 200, 100, 400, 150, 250],
        ['data2', 50, 20, 10, 40, 15, 25]
{{% chart-complex-stop %}}

is the equivalent of this...

var chart = c3.generate({
    bindto: '#foo',
    data: {
      columns: [
        ['data1', 30, 200, 100, 400, 150, 250],
        ['data2', 50, 20, 10, 40, 15, 25]


Disable Pagination

So lets say you have a page you don't want pagination displayed, such as "About.org", then you can set no_pagination to true in the Front Matter and it won't display.

title: "About"
date: 2018-09-02T22:41:40-05:00
draft: false
no_pagination: true

A rutting about page.

Sortable Tables

So lets say you want to make the tables on a page sortable, you can now do this. You can do this, by setting the Front Matter value "sort_tables" to true and in the header it will include a link to a JS script in the js dir that does this.

Below is a org mode example with sortable tables.

title: "Tables"
date: 2018-09-02T22:41:40-05:00
draft: false
sort_tables: true

| a | b | c          | d            | e |
| 1 | f | 2017-03-14 |    |   |
| 2 | b | 2018-02-14 | |   |
| 3 | e | 2017-03-15 |  |   |
| 4 | d | 2012-03-14 |  | 3 |

Colors & Decorations

All colors/decorations stuff go under the 'colors' config section. The defaults are shown below.

	#general text and background
	# titles

	# headers

	# tables

	# content tags

	# color of the tags title on that tags page

	# related items(at the bottom of posts)

	# graph axis
	# text on the graphs

Page Auto-Refresh

Pages can be told to auto refresh via setting the Front Matter variable 'page_refresh'. This is number of seconds between page refreshes.

The use case for this would be if you are using graphing and have data that updates periodically want to update the page every 5 minutes or so to pull in the changes.

title: "Auto-Refreshing"
date: 2018-09-02T22:41:40-05:00
draft: false
page_refresh: 300

This page will refresh every 5 minutes.


  • Implement more settings for gauge graph type.
  • Add more axis options.
  • Make the nearly invisible black triangles the show up on the graph in some modes disappear.