Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Self-host Ruby API documentation #1011

Open
danyill opened this issue Oct 6, 2021 · 2 comments
Open

Self-host Ruby API documentation #1011

danyill opened this issue Oct 6, 2021 · 2 comments

Comments

@danyill
Copy link
Contributor

danyill commented Oct 6, 2021

The API documentation for Ruby is available on Rubydoc and is linked from the Asciidoctor documentation:

https://docs.asciidoctor.org/asciidoctor/latest/api/

It's back up today (hurrah!) but is very regularly down at URLs like:

https://www.rubydoc.info/gems/asciidoctor/2.0.16

Sometimes a previous version can be found by modifying the URL.

IMHO we need better uptime and this should not be excessively onerous or complex in 2021 for a static website.
I recommend we generate the documentation ourselves using Yard (which is what Rubydoc uses) in CI and then bundle it into docs.asciidoctor.org to take advantage of the resiliency/redundancy of Netlify.

@mojavelinux
Copy link
Member

Looking forward, I'd really like to bring all the APIs for Asciidoctor under one "roof". Therefore, I'm open to setting up the domain api.asciidoctor.org for this purpose. We'd manage the site on Netlify, like we do the other sites, and it would get its own build. Then we can put any amount of API docs there.

@ggrossetie
Copy link
Member

ggrossetie commented Nov 28, 2021

We'd manage the site on Netlify, like we do the other sites, and it would get its own build. Then we can put any amount of API docs there.

I guess we would need to create a GitHub repository api.asciidoctor.org? (In order to configure a Netlify build, right?)
Since we don't want to rebuild all versions/releases all the time, I suppose we would have to commit the generated static files? We would also probably need to notify this repository when we release a new version of Asciidoctor, Asciidoctor.js or AsciidoctorJ.

The build could:

  1. checkout asciidoctor/asciidoctor, asciidoctor/asciidoctor.js or asciidoctor/asciidoctorj
  2. install (dev) dependencies
  3. generate the documentation: yard, npm run docs --prefix packages/core or ./gradlew javadoc
  4. copy generated files to a common directory structure:
api.asciidoctor.org/asciidoctor/latest
api.asciidoctor.org/asciidoctorj/latest
api.asciidoctor.org/asciidoctor.js/latest
api.asciidoctor.org/asciidoctor/2.0.16
api.asciidoctor.org/asciidoctorj/2.5.2
api.asciidoctor.org/asciidoctor.js/2.2.5
  1. commit files and push
  2. (it triggers Netlify build)
  3. Netlify deploy static files to api.asciidoctor.org

@mojavelinux is that what you have in mind?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants