mirror of
https://github.com/rclone/rclone.git
synced 2026-10-28 14:28:38 -04:00
Before this change, the default SFTP encoding (`Slash,Del,Ctl,Dot`, the same as rclone's standard form) passed names through unchanged, so a name on the server containing a control character, such as a raw newline, reached rclone in a non-standard form. Other backends, such as local on Linux, list the same name in the standard form (`␊`), so the two never matched: syncing such a file from SFTP to local deleted it on every second run, and bisync recorded listings that didn't match the files. After this change, the default encoding is `Slash,Dot`, the same as the local backend's default on Linux, so control characters in names on the server are converted to and from the standard form. Servers running on Windows can add the Windows restricted characters with `--sftp-encoding`, as now documented. The issue was discovered on the bisync integration tests. This also fixes `mkParentDir`, which encoded the parent `.` of a top-level file as a name. With the new default encoding, that created a stray `.` directory on the server.
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.htmlfor the front pagechrome/*.htmlfor the HTML fragments_default/single.mdfor the default templatepage/single.mdfor 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
├── fontawesome
│ ├── css
│ └── webfonts
├── img - images used
├── js
│ ├── bootstrap.js
│ ├── custom.js - custom javascript goes here
│ └── jquery.js