User's guide


24 August 2023    

This guide provides a quick introduction to using this site, configuration and formatting articles (with markdown).

Using PPost

When writing a new post it goes to drafts. From here, selecting the post, it can be edited, published (and made viewable to those not logged in) and deleted.

Configuring PPost

This site can be configured using specially named articles posted to “drafts”. The following is the complete list of page titles and what their contents will configure.

  1. meta:title

    The site’s title. The markdown input is used.

  2. meta:description

    The description of the site that sits between the navigation bar and the list of articles. The HTML conversion of the post body is used.

  3. meta:custom-css

    Custom CSS modifications to append to the existing stylesheet.

    For example add the following to remove the login nav link

    #nav-login {display:none}
    
  4. meta:nav

    Additional navigation items to add in the menu. The recommended way of adding these is with:

    <li> [my post](/p/path-to-post)
    <li> [see this](https://example.com)
    

    to avoid creating additional <ul> tags.

Keyboard Shortcuts

There are number of accesskey-based shortcuts where a couple keys are pressed before a letter to trigger a link (e.g. on Macs the keys are Control + Option),

Everywhere

Logged In

On a Post

Exports

Navigate to /export or click the button on the drafts page to download a backup of the database.

Then use something like the following to dump the $DB_FILE to markdown files.

for item in $(sqlite-utils $DB_FILE "select slug, displaytitle, markdown from posts"); do
    file="$(jq .slug <<< "$item").md"
    printf "# $(jq .displaytitle <<< "$item")" > "$file"
    printf "$(jq .markdown <<< "$item")" >> "$file"
done

Using markdown

The content on this site is written in markdown - even this page (by clicking the “edit” button next to this page’s title you can its markdown contents). Markdown is a format for writing structured documents.

Standard HTML can always be used here for more control than markdown gives.

Here is a quick run through of some ways you might use it:

Formatting:

_italics for emphasis_

italics for emphasis


**embolden this text**

embolden this text


# Heading 1
## Heading 2
### Heading 3


>You can quote me on this

You can quote me on this


```
A code block is marked by a fence of backticks
and can be coded "inline" using `single backticks` <-
```

Bullets:

* Any
* Old
* Order


1. Numbered
1. Auto-
1. Magically
  1. Any
  2. Old
  3. Order

Links and images:

[the link words](https://wikipedia.org)

the link words


![describe the image](https://commonmark.org/help/images/favicon.png)

describe the image