Reseed is an open-source tool for integrating static sites into subpaths.
Requires node >=10.0.0
Install with npm globally: npm install -g reseed
or as a dev dependency: npm install -D reseed
.
Then run using the following structure:
$ reseed [command] [options]
For example: reseed -s path/to/src -d path/to/dest -b baseurl
Once installed you can also set up your package.json
with a custom script, such as:
{
"scripts": {
"reseed": "reseed -s path/to/src -d path/to/dest -b baseurl"
}
}
Then use npm run reseed
within your project.
Alternatively, you can use npx
to avoid installing reseed
as a dependency.
For example: npx reseed -s path/to/src -d path/to/dest -b baseurl
All commands (except
clean
) require bothbaseurl
anddest
options set.
Theclean
command only requires thedest
option set.See Options for more info.
Cleans destination directory, and copies files from src to dest/baseurl. CSS and HTML files have their hrefs/urls/etc (excluding external links) rewritten so that baseurl is prepended.
$ reseed -s path/to/src -d path/to/dest -b baseurl
Deletes all files in the destination directory.
$ reseed clean -d path/to/dest
Copy all files (excluding CSS and HTML) from source to destination/baseurl without altering the data.
$ reseed clone-assets -b baseurl -d path/to/dest
Copies css files from src to dest/baseurl. Then rewrites the newly copied files so that urls/hrefs/etc that reference local content have baseurl prepended to them.
$ reseed rewrite-css -b baseurl -d path/to/dest
Copies html files from src to dest/baseurl. Rewrites the newly copied files so that internal urls/hrefs/etc have baseurl prepended to them.
$ reseed rewrite-html -b baseurl -d path/to/dest
Copies the sitemap from src to dest/baseurl. Rewrites the copied file so that links have baseurl prepended to them. If the provided file is a sitemap index, the referenced sitemaps will be processed similarly.
The sitemap (or sitemap index) file can be specified using the -m | --sitemap
option. If no sitemap file is specified, will default to sitemap.xml
.
$ reseed rewrite-sitemap -b baseurl -d path/to/dest -m sitemapindex.xml
Copies the specified RSS file(s) from src
to dest
/baseurl
. Rewrites the copied file(s) so that links have baseurl prepended to them.
The RSS file must be specified using the -r | --rss
option. This option is a glob. The specified file(s) must have the .xml
extension.
If using a glob with wildcards (
*
) you must wrap the glob in quotes. See the example below.
$ reseed rewrite-rss -b baseurl -d path/to/dest -r "**/index.xml"
Runs reseed
, then serves the files on a local webserver, so that they may be viewed in a browser. Then runs watch
.
$ reseed serve -s path/to/src -d path/to/dest -b baseurl
Continuously watches the src directory to check for changes. If a change occurs, a new build is triggered, and the browser is then reloaded.
$ reseed watch -s path/to/src -d path/to/dest -b baseurl
Prevents reseed from adding the baseurl infront of an elements path
<a href="/manual" reseed-ignore>Click me!</a>
Option | Alias | Type | Description |
---|---|---|---|
--source |
-s |
String | The source folder to clone. Defaults to current working directory. |
--dest |
-d |
String | The destination folder to clone the files to. |
--baseurl |
-b |
String | The filename to prepend to the files in the source. |
--port |
-p |
Integer | The port number to serve the cloned site on. |
--extrasrc |
-e |
String | Extra src attribute to be rewritten. Can set multiple attributes by specifying the flag multiple times. |
--sitemap |
-m |
String | Path to the index sitemap. Defaults to sitemap.xml . |
--rss |
-r |
String | Glob to rss file or files. |
--overwrite |
-o |
Boolean | When cleaning --dest , don't prompt for confirmation. |
--split |
Integer | The number of partitions to divide files into. | |
--partition |
Integer | The partition number to process. | |
--help |
Boolean | Show help in the terminal |