This is the project site for the Asciidoctor project. The site is composed in AsciiDoc, styled by Foundation 4, baked with Awestruct, and hosted on Netlify.
For instructions on how to install Awestruct and its dependencies, refer to the Install Awestruct section below.
To preview the site locally, simply run the default rake build task:
$ rake
The default rake build task is preview
, so you’re effectively typing:
$ rake preview
The preview
task is just a short way of invoking Awestruct in development mode directly:
$ awestruct -d
Now visit http://localhost:4242 to preview the site.
To rebuild the site from a clean state, pass the --force
flag to the preview
task:
$ rake preview[--force]
You can pass any flag through to Awestruct using the syntax in the previous command.
If you just want to generate the site, run:
$ rake gen
Add new files (such as a new blog entry or image):
$ git add news/news-slug.adoc
or all new files present in a directory (it only affects new files, skips files already committed)
$ git add news/
Commit all files marked to be committed, including new files that were just added:
$ git commit -m 'your message here'
Commit all files that have changed, even if not marked to be committed:
$ git commit -a -m 'your message here'
Make sure there are no files that are "untracked" or "modified":
$ git status
You should see:
nothing to commit (working directory clean)
Now you are ready to deploy.
First, install RVM. Trust me on this.
$ curl -#L https://get.rvm.io | bash -s stable --ruby
Next, setup an RVM gemset for working with the Asciidoctor site:
$ rvm use 2.4 --create
At this point, you could install Awestruct directly, but since the site build has some additional dependencies, it’s best to let bundler handle the installation. Bundler will also ensure that you are using the correct versions of each gem when you run Awestruct.
$ bundle --path=.bundle/gems
You’re now Awestruct!
This website is hosted on Netlify at the domain name asciidoctor.org. It’s managed by the account docbot [at] asciidoctor [dot] org and other Asciidoctor administrators.
Netlify also handles generating and deploying the site. Deployment is triggered via a webhook on the master branch of the git repository. The deploy job executes the following command:
$ rake deploy:netlify
The version of Ruby is set using an environment variable in the Netlify configuration.
The deploy logs for asciidoctor.org can be viewed at https://app.netlify.com/sites/asciidoctor/deploys.
There are two DNS records that point asciidoctor.org and www.asciidoctor.org to the Netlify servers:
@ 3600 IN A 104.198.14.52 www 3600 IN CNAME asciidoctor.netlify.com.
The Netlify server automatically sets up a redirect that points from www.asciidoctor.org to asciidoctor.org.
The TLS certificate for asciidoctor.org and www.asciidoctor.org was issued using Let’s Encrypt and is managed by Netlify.
Verify the certificate is valid using:
$ curl -vI https://asciidoctor.org
Look for CN=asciidoctor.org
under the “Server certificate” section.
Thanks to Netlify, the certificate will be regenerated automatically when it nears its expiry date.