Publishex v1.1.0 Publishex View Source
Publish a directory of static files to a static file hoster such as Netlify or S3.
E.g. if you generate your ex_doc
documentation for a private repository you can
publish this to a Netlify site. See for example [https://naughty-austin-122b2d.netlify.com/]
Installation
If available in Hex, the package can be installed
by adding publishex
to your list of dependencies in mix.exs
:
def deps do
[
{:publishex, "~> 1.0.1"}
]
end
Usage
You can publish any directory but it defaults to doc
. To publish your ex_doc
documentation to Netlify or S3 you can do the following.
Netlify
# Generate the docs
mix docs
# Publish to netlify (defaults to `doc` directory)
mix publishex.netlify --token personal_access_token --site-id dazzling-tesla-122b2d.netlify.com
# Set custom directory
mix publishex.netlify --directory "some_dir" --token personal_access_token --site-id dazzling-tesla-122b2d.netlify.com
The personal access token can be created in the Netlify dashboard [https://app.netlify.com/user/applications#personal-access-tokens]
S3
# Generate the docs
mix docs
# Publish to netlify (defaults to `doc` directory)
mix publishex.s3 --bucket bucket_name --region us-west-1 --access_key_id access_key_id --secret_access_key secret_access_key --acl public_read
Setting the ACL is explicit to prevent accidental public files.
See [https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html] on how to create a static site on S3
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/publishex.
Link to this section Summary
Functions
Publish directory to static host.
Link to this section Functions
Publish directory to static host.
Publishex.publish("doc",
adapter: Publishex.Adapter.Netlify,
adapter_opts: [token: token, site_id: site_id]
)