aboutsummaryrefslogtreecommitdiff
SHINOBI SCRIPT
==============

The basic shell script used to create a RSS-focused blog from plain text
files.

More info and live demo:
https://shinobi.btxx.org

RUNNING LOCALLY
---------------

In your terminal simply run `make serve` then navigate to `localhost:8000`.
You will also be able to inspect and test the generated `feed.xml` file.


ADVANCED SETTING: WRAPPING PLAIN TEXT
-------------------------------------

If you would prefer to have your posts set to wrap at a certain character
length (72 is set by default) then follow the process below:

1. Create a new folder in your root directory named "_posts"
2. Move any existing posts to this directory (and create all new articles
here as well moving forward)
3. Open your `script.sh` for editing
4. Uncomment the `RW_DIR` variable in the "Configuration" section
5. Uncomment the following two lines in the `script.sh` file:

```shell
for i in $(find $RW_DIR -type f); do cp $i $POST_DIR ; done
for i in $(find $POST_DIR -type f); do fold -s -w 72 $i > $i.temp; mv $i.temp $i ; done
```

6. Replace the loop directory setting:

  Change:
  for file in $POST_DIR*; do
  To:
  for file in $RW_DIR*; do

7. Replace the following sections of code (lines 36 and 42):

  Change:
  <link>$DOMAIN/$file</link>
  To:
  <link>$DOMAIN/$POST_DIR$(basename ${file})</link>

  Change:
  <guid>$DOMAIN/$file</guid>
  To:
  <guid>$DOMAIN/$POST_DIR$(basename ${file})</guid>

That's it! The reason for making this process somewhat more _complex_ than
simply formatting the posts themselves has to do with RSS Feed Readers.
We want to avoid ugly and misplaced line breaks in Reader apps. We also
want to keep the user in full control of how they can consume their feeds.

If this looks a little too confusing for you, don't worry! This is completely
optional and is disabled by default.


TESTED RSS READERS (WIP)
------------------------

FULL SUPPORT:
  [+] NetNewsWire (macOS + iOS)
  [+] Reeder 5 (iOS)
  [+] Inoreader (Web + iOS)
  [+] tt-rss.org

PARTIAL SUPPORT:
  [-] Miniflux*

*: The Miniflux reader overrides default `pre` styling and ignores
wrapping the content. This can be fixed by using your own custom styling
in the Miniflux > Settings menu:

```css
.entry-content > pre {
    white-space: pre-wrap;
}
```


SUBMITTING A PATCH
------------------

Please submit any patches to:
shinobi@patches.btxx.org