rclone/docs
edwardxml 127f48e8ad docs: Rewrite rclone filtering documentation
This is an attempt at rewriting the rclone filter documentation page.

I have drawn largely from what appears to be the strong original
structure of the page; existing text, and forum comments.

The term flag is used throughout rather than differentiating `--`
options with more complex arguments. That diverges from some standard
practice but is consistent with messages in the rclone binary and `go`
documentation.

The term directory not folder is used throughout.

I tried referring to objects more broadly rather than files and it
just did not seem to work. Apart from a note at the top the
explanations refer entirely to paths, directories and files. My
justification is that bucket store users understand the concept of
files. Not all users of directory aware storage are so familiar with
objects, keys and metadata.

Many of the changes I have made involve moving issues into what seemed
to me to be more relevant parts of the original page structure. I
still find the content repetitious and overly long but that may be
inevitable when users can only be expected to read the section of the
page they think most relevant.

I have eliminated the rsync section from the original structure. It is
hard enough explaining how rclone filters work without also setting
out how they do not. Comment on sync is instead relegated to a
paragraph in the directory filter section.

The structure of the page is intended to work with a hugo toc card
from html Header2 to Header3.

My original intention was to establish a separate examples section. I
have instead retained examples in each section, added to them and
tried to make clear what is documentation and what example.

The changes draw on Github and Forum issues too numerous to mention.
for instance:

https://forum.rclone.org/t/certain-exclusion-flags-seem-to-be-ignored/20049/2

I am **especially** grateful for
https://forum.rclone.org/t/object-key-remote-directory-filter-clarification/20386/2
for making sense of directory filters for me.

@ncw has a fun (and useful) online filter app at
https://filterdemo.rclone.org/ I have not referred to it at this stage
though I particularly like the fact that it is tied to the same
codebase as an rclone version.

I have added cautions about mixing the `--filter...` flags with
`--exclude...` or `--include...`. The same issues seem to arise as
already recognised between the latter two.

The formal summary of glob syntax introduced at the top of the page is
shamelessly stolen from https://godoc.org/github.com/gobwas/glob

I have tried not to alter too many header descriptions and thereby
break existing links to them.

The reference to 'lass' in the example has been retained to confuse
all those not of Scottish or Yorkshire heritage.

Some of my activity was to remove ambiguity and I anticipate
suggestions to roll that back where it has become overly complex.

I tried particularly to bring together and make clear material about
directory filters. It was previously scattered throughout the page and
I couldn't understand it. I am particularly grateful for the
explanations I received about directory filters though any remaining
errors are entirely my own.

Removed erroneous references to non existent `--filter...` flags.

In some ways the best person to write this page would be one with no
knowledge whatsoever of how rclone filters work. The further I got
into it the better qualified I found myself to be.

E&OE
2021-01-22 16:59:22 +00:00
..
content docs: Rewrite rclone filtering documentation 2021-01-22 16:59:22 +00:00
i18n website: Adapt to hugo v0.27.1 2017-09-30 09:19:53 +01:00
layouts HDFS (Hadoop Distributed File System) implementation - #42 2021-01-07 09:48:51 +00:00
static docs: update index and donate pages after review 2020-05-27 17:31:09 +01:00
config.json docs: Add link to source and modified time to footer of every page 2020-06-01 13:07:46 +01:00
README.md docs: update rclone about docs 2020-11-27 14:08:52 +00:00

Docs

This directory tree is used to build all the different docs for
rclone.

See the content directory for the docs in markdown format.

Note that some of the docs are auto generated - these should have a DO
NOT EDIT marker near the top.

Use hugo to build the website.

Changing the layout

If you want to change the layout then the main files to edit are

  • layout/index.html for the front page
  • chrome/*.html for the HTML fragments
  • _default/single.md for the default template
  • page/single.md for the page template

Running make serve in a terminal give a live preview of the website
so it is easy to tweak stuff.

What are all these files

├── config.json                   - hugo config file
├── content                       - docs and backend docs
│   ├── _index.md                 - the front page of rclone.org
│   ├── commands                  - auto generated command docs - DO NOT EDIT
├── i18n
│   └── en.toml                   - hugo multilingual config
├── layouts                       - how the markdown gets converted into HTML
│   ├── 404.html                  - 404 page
│   ├── chrome                    - contains parts of the HTML page included elsewhere
│   │   ├── footer.copyright.html - copyright footer
│   │   ├── footer.html           - footer including scripts
│   │   ├── header.html           - the whole html header
│   │   ├── header.includes.html  - header includes e.g. css files
│   │   ├── menu.html             - left hand side menu
│   │   ├── meta.html             - meta tags for the header
│   │   └── navbar.html           - top navigation bar
│   ├── _default
│   │   └── single.html           - the default HTML page render
│   ├── index.html                - the index page of the whole site
│   ├── page
│   │   └── single.html           - the render of all "page" type markdown
│   ├── partials                  - bits of HTML to include into layout .html files
│   │   └── version.html          - the current version number
│   ├── rss.xml                   - template for the RSS output
│   ├── section                   - rendering for sections
│   │   └── commands.html         - rendering for /commands/index.html
│   ├── shortcodes                - shortcodes to call from markdown files
│   │   ├── cdownload.html        - download the "current" version
│   │   ├── download.html         - download a version with the partials/version.html number
│   │   ├── provider.html         - used to make provider list on the front page
│   │   └── version.html          - used to insert the current version number
│   └── sitemap.xml               - sitemap template
├── public                        - render of the website
├── README.md                     - this file
├── resources                     - don't know!
│   └── _gen
│       ├── assets
│       └── images
└── static                        - static content for the website
    ├── css
    │   ├── bootstrap.css
    │   ├── custom.css            - custom css goes here
    │   └── font-awesome.css
    ├── img                       - images used
    ├── js
    │   ├── bootstrap.js
    │   ├── custom.js             - custom javascript goes here
    │   └── jquery.js
    └── webfonts