Giter VIP home page Giter VIP logo

docker-asciidoctor's Introduction

Asciidoctor Docker Container

The environment

This Docker image provides:

This image uses Alpine Linux 3.13 as base image.

How to use it

Just run:

docker run -it -v <your directory>:/documents/ asciidoctor/docker-asciidoctor

Docker maps your directory with /documents directory in the container.

After you start the container, you can use Asciidoctor commands to convert AsciiDoc files that you created in the directory mentioned above. You can find several examples below.

  • To run Asciidoctor on a basic AsciiDoc file:

    asciidoctor sample.adoc
    asciidoctor-pdf sample.adoc
    asciidoctor-epub3 sample.adoc
  • To run AsciiDoc on an AsciiDoc file that contains diagrams:

    asciidoctor -r asciidoctor-diagram sample-with-diagram.adoc
    asciidoctor-pdf -r asciidoctor-diagram sample-with-diagram.adoc
    asciidoctor-epub3 -r asciidoctor-diagram sample-with-diagram.adoc
  • To use Asciidoctor Confluence:

    asciidoctor-confluence --host HOSTNAME --spaceKey SPACEKEY --title TITLE --username USER --password PASSWORD sample.adoc
  • To use Asciidoctor reveal.js with local downloaded reveal.js:

    asciidoctor-revealjs sample-slides.adoc
    asciidoctor-revealjs -r asciidoctor-diagram sample-slides.adoc
  • To use Asciidoctor reveal.js with online reveal.js:

    asciidoctor-revealjs -a revealjsdir=https://cdnjs.cloudflare.com/ajax/libs/reveal.js/3.9.2 sample-slides.adoc
    asciidoctor-revealjs -a revealjsdir=https://cdnjs.cloudflare.com/ajax/libs/reveal.js/3.9.2 -r asciidoctor-diagram sample-slides.adoc
  • To convert files in batch:

    docker run --rm -v $(pwd):/documents/ asciidoctor/docker-asciidoctor asciidoctor-pdf index.adoc

How to contribute / do it yourself?

Requirements

You need the following tools:

  • A bash compliant command line

  • GNU make

  • Bats installed and in your bash PATH

  • Docker installed and in your path

How to build and test?

  • Bats is used as a test suite runner. Since the ability to build is one way of testing, it is included.

  • You just have to run the Bats test suite, from the repository root:

    make test

Include test in your build pipeline or test manually

You can use Bats directly to test the image. Optionally, you can specify a custom image name:

# If you want to use a custom name for the image, OPTIONAL
export DOCKER_IMAGE_NAME_TO_TEST=your-image-name
bats tests/*.bats

Deploy

The goal for deploying is to make the Docker image available with the correct Docker tag in Docker Hub.

As a matter of trust and transparency for the end-users, the image is rebuilt by Docker Hub itself by triggering a build. This only works under the hypothesis of a minimalistic variation between the Docker build in the CI, and the Docker build by Docker Hub.

Deploying the image requires setting the following environment variables: DOCKERHUB_SOURCE_TOKEN and DOCKERHUB_TRIGGER_TOKEN. Their values come from a Docker Hub trigger URL: https://hub.docker.com/api/build/v1/source/${DOCKERHUB_SOURCE_TOKEN}/trigger/${DOCKERHUB_TRIGGER_TOKEN}/call/.

You might want to set these variables as secret values in your CI to avoid any leaking in the output (as curl output for instance).

docker-asciidoctor's People

Contributors

aledomu avatar bmustiata avatar branic avatar cexbrayat avatar clbarnes avatar dduportal avatar fwilhe avatar ggrossetie avatar github-actions[bot] avatar gscheibel avatar gtudan avatar hakandilek avatar hasalex avatar jagedn avatar juracy avatar mfriedenhagen avatar mikemckiernan avatar miyoshi-ryota avatar mojavelinux avatar mweisbach avatar nobecutan avatar obilodeau avatar paraplegicracehorse avatar rassie avatar reitzig avatar sapientpants avatar slonopotamus avatar snoyberg avatar stoeps13 avatar tarikgraba avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.