mirror of
https://github.com/rclone/rclone.git
synced 2026-03-26 03:12:36 -04:00
AWS S3 requires Content-MD5 for PutObject with Object Lock parameters. Since rclone passes a non-seekable io.Reader, the SDK cannot compute checksums automatically. Buffer the body and compute MD5 manually for singlepart PutObject and presigned request uploads when Object Lock parameters are set. Multipart uploads are unaffected as Object Lock headers go on CreateMultipartUpload which has no body. Add object_lock_supported provider quirk (default true) to allow skipping Object Lock integration tests on providers with incomplete S3 API support. Set to false for GCS which uses non-standard x-goog-bypass-governance-retention header and doesn't implement PutObjectLegalHold/GetObjectLegalHold. Add Multipart and Presigned subtests to Object Lock integration tests to cover all three upload paths. Fixes #9199
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