<commit_before># picture show

make slideshows with markdown

inspired by the likes of showoff and slide down

(still a bit rough around the edges)

## usage

Currently runs under sbts `run` task once the project is set to `PictureShow Server`

    > project PictureShow Server
    Set current project to PictureShow Server 0.1.0-SNAPSHOT
    > run --s=/path/to/show

This will run your show at http://localhost:3000

To run a show on a specific port add the port after the path to the show

    > run --s=/path/to/show --p=1234

This will run your show at http://localhost:1234

Show path resolution can default to a target directory specified in an environment variable called `SHOW_HOME`

    > export SHOW_HOME=/path/to
    > run --s=show

The directory contents of a show are expected to be in the format


    /yourshow
      config.js
      /sectiona
        sectiona.md
      /sectionb
        sectionb.md


### config

Shows are configurable through a `config.js` file. This file should be in json
format should include a sections key with an array of section names to render and an optional title. From the example above


    > cat config.js
    {
      "title": "some show title"
      "sections": [
        "sectiona",
        "sectionb"
      ]
    }

You can leave out a section or rearrange sections but you should provide at least one.

### slides

Slides represent content that is rendered. One slide is rendered at a time and slides are ordered based on the order of configured sections mentioned above.

Slides are generated from the provided markdown (.md) files as denoted with
a `!SLIDE` delimiter.

The example below generates 3 slides.

    > cat some.md
    !SLIDE
<commit_msg>fixes readme refs to conf.js closes #7<commit_after># picture show

make slideshows with markdown

inspired by the likes of showoff and slide down

(still a bit rough around the edges)

## usage

Currently runs under sbts `run` task once the project is set to `PictureShow Server`

    > project PictureShow Server
    Set current project to PictureShow Server 0.1.0-SNAPSHOT
    > run --s=/path/to/show

This will run your show at http://localhost:3000

To run a show on a specific port add the port after the path to the show

    > run --s=/path/to/show --p=1234

This will run your show at http://localhost:1234

Show path resolution can default to a target directory specified in an environment variable called `SHOW_HOME`

    > export SHOW_HOME=/path/to
    > run --s=show

The directory contents of a show are expected to be in the format


    /yourshow
      conf.js
      /sectiona
        sectiona.md
      /sectionb
        sectionb.md


### conf

Shows are configurable through a `conf.js` file. This file should be in json
format should include a sections key with an array of section names to render and an optional title. From the example above


    > cat conf.js
    {
      "title": "some show title"
      "sections": [
        "sectiona",
        "sectionb"
      ]
    }

You can leave out a section or rearrange sections but you should provide at least one.

### slides

Slides represent content that is rendered. One slide is rendered at a time and slides are ordered based on the order of configured sections mentioned above.

Slides are generated from the provided markdown (.md) files as denoted with
a `!SLIDE` delimiter.

The example below generates 3 slides.

    > cat some.md
    !SLIDE

{'fraction_non_alphanumeric': 0.05959684487291849, 'fraction_numerical': 0.009640666082383873, 'mean_word_length': 2.935632183908046, 'pattern_counts': {'":': 4, '<': 3, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2156985', 'n_tokens_mistral': 988, 'n_tokens_neox': 928, 'n_words': 476}