diff --git a/.github/workflows/ai-revision.yaml b/.github/workflows/ai-revision.yaml index fbae61d..58eb0d3 100644 --- a/.github/workflows/ai-revision.yaml +++ b/.github/workflows/ai-revision.yaml @@ -27,6 +27,9 @@ jobs: ai-revise: name: AI Revise runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write defaults: run: shell: bash --login {0} diff --git a/.github/workflows/manubot.yaml b/.github/workflows/manubot.yaml index 80a985d..33b1990 100644 --- a/.github/workflows/manubot.yaml +++ b/.github/workflows/manubot.yaml @@ -38,6 +38,8 @@ jobs: manubot: name: Manubot runs-on: ubuntu-latest + permissions: + contents: write env: GITHUB_PULL_REQUEST_SHA: ${{ github.event.pull_request.head.sha }} # Set SPELLCHECK to true/false for whether to check spelling in this action. @@ -82,7 +84,9 @@ jobs: activate-environment: manubot environment-file: build/environment.yml auto-activate-base: false + miniforge-variant: Mambaforge miniforge-version: 'latest' + use-mamba: true - name: Install Spellcheck if: env.SPELLCHECK == 'true' run: bash ci/install-spellcheck.sh diff --git a/USAGE.md b/USAGE.md index c867139..5ce07a5 100644 --- a/USAGE.md +++ b/USAGE.md @@ -322,6 +322,8 @@ metadata: csl: https://github.com/citation-style-language/styles/raw/906cd6d43d0c136190ecfbb12f6af0ca794e3c5b/peerj.csl ``` +Instructions for generating additional manuscript output formats such as DOCX can be found in [`build/README.md`](build/README.md). + ## Spellchecking When the `SPELLCHECK` environment variable is `true`, the pandoc [spellcheck filter](https://github.com/pandoc/lua-filters/tree/master/spellcheck) is run. diff --git a/build/README.md b/build/README.md index 28893ab..3c09035 100644 --- a/build/README.md +++ b/build/README.md @@ -7,8 +7,19 @@ However, setting the `BUILD_PDF` environment variable to `false` will suppress P For example, run local builds using the command `BUILD_PDF=false bash build/build.sh`. To build a DOCX file of the manuscript, set the `BUILD_DOCX` environment variable to `true`. -For example, use the command `BUILD_DOCX=true bash build/build.sh`. -To export DOCX for all CI builds, set an environment variable (see docs for [GitHub Actions](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/using-environment-variables)). +For example, use the command `BUILD_DOCX=true bash build/build.sh` locally. +To export DOCX for all CI builds, set an environment variable in the CI configuration file. +For GitHub Actions, set the variable in `.github\workflows\manubot.yaml` (see [docs](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/using-environment-variables)): + +```yaml +name: Manubot +env: + BUILD_DOCX: true +``` + +To generate a single DOCX output of the latest manuscript with GitHub Actions, click the "Actions" tab at the top of the repository. +Select the "Manubot" workflow, then the "Run workflow" button and check "generate DOCX output" before clicking the green "Run workflow" button. + Currently, equation numbers via `pandoc-eqnos` are not supported for DOCX output. Format conversion is done using [Pandoc](https://pandoc.org/MANUAL.html). @@ -20,12 +31,17 @@ To change the options, either edit the YAML files directly or add additional `-- Note: currently, **Windows is not supported**. -Install the [conda](https://conda.io) environment specified in [`environment.yml`](environment.yml) by running the following commands +The Manubot environment is managed with [conda](https://conda.io). +If you do not have `conda` installed, we recommend using the Miniforge3 (includes `conda`) or Mambaforge (includes `conda` and `mamba`) installers from [miniforge](https://github.com/conda-forge/miniforge). +Install the environment from [`environment.yml`](environment.yml) by running one of following commands (from the repository's root directory): ```sh -# Install the environment +# Install the environment using conda conda env create --file build/environment.yml + +# Install the environment using mamba (faster) +mamba env create --file build/environment.yml ``` If the `manubot` environment is already installed, but needs to be updated to reflect changes to `environment.yml`, use one of the following options: @@ -38,6 +54,9 @@ conda env update --file build/environment.yml # Slower than option 1, but guarantees a fresh environment. conda env remove --name manubot conda env create --file build/environment.yml + +# option 3: reinstall the manubot environment faster using mamba. +mamba env create --force --file build/environment.yml ``` Activate with `conda activate manubot` (assumes `conda` version of [at least](https://github.com/conda/conda/blob/9d759d8edeb86569c25f6eb82053f09581013a2a/CHANGELOG.md#440-2017-12-20) 4.4). diff --git a/build/environment.yml b/build/environment.yml index 8c21b40..30fb360 100644 --- a/build/environment.yml +++ b/build/environment.yml @@ -7,6 +7,7 @@ dependencies: - ghp-import=2.1.0 - jinja2=3.1.2 - jsonschema=4.17.0 + - librsvg=2.52.5 - pandoc=2.19.2 - pango=1.48.10 - pip=22.3.1 diff --git a/content/00.front-matter.md b/content/00.front-matter.md index 720a3df..ed5e3e0 100644 --- a/content/00.front-matter.md +++ b/content/00.front-matter.md @@ -52,7 +52,7 @@ Published: {{manubot.date_long}} {%- endif %} {%- if author.mastodon is defined and author.mastodon is not none and author["mastodon-server"] is defined and author["mastodon-server"] is not none %} {%- set has_ids = true %} - · ![Mastodon icon](images/mastodon.svg){.inline_icon} + · ![Mastodon icon](images/mastodon.svg){.inline_icon width=16 height=16} [\@{{author.mastodon}}@{{author["mastodon-server"]}}](https://{{author["mastodon-server"]}}/@{{author.mastodon}}) {%- endif %} {%- if has_ids %} diff --git a/content/images/github.svg b/content/images/github.svg index 2c77c4c..5f377da 100644 --- a/content/images/github.svg +++ b/content/images/github.svg @@ -1,4 +1,4 @@ - - + + diff --git a/content/images/mastodon.svg b/content/images/mastodon.svg index da42299..261cb0e 100644 --- a/content/images/mastodon.svg +++ b/content/images/mastodon.svg @@ -1,45 +1,4 @@ - - - - - - + + + diff --git a/content/images/orcid.svg b/content/images/orcid.svg index efc939b..2a635df 100644 --- a/content/images/orcid.svg +++ b/content/images/orcid.svg @@ -1,4 +1,4 @@ - - - + + + diff --git a/content/images/twitter.svg b/content/images/twitter.svg index 7f676e3..7bfb686 100644 --- a/content/images/twitter.svg +++ b/content/images/twitter.svg @@ -1,4 +1,4 @@ - - + + diff --git a/setup.bash b/setup.bash index 4319cc3..6278299 100755 --- a/setup.bash +++ b/setup.bash @@ -15,7 +15,7 @@ echo "OWNER and REPO refer to the details of your manuscript repo location:" echo "i.e. https://github.com/OWNER/REPO." echo echo "Options:" -echo " -o --owner GitHub user or organisation name." +echo " -o --owner GitHub user or organization name." echo " -r --repo Name of the repository for your new manuscript." echo " -y --yes Non-interactive mode. Continue script without asking for confirmation that the repo exists." echo " -s --ssh Use SSH to authenticate GitHub account. HTTPS is used by default." @@ -104,7 +104,7 @@ if [ -z "${OWNER}" ] || [ -z "${REPO}" ]; then echo "First, we need to specify where to create the GitHub repo for your manuscript." echo echo "The URL will take this format: https://github.com/OWNER/REPO." - echo "OWNER is your username or organisation" + echo "OWNER is your username or organization" echo "REPO is the name of your repository" echo read -r -p "Type in the OWNER now:" input @@ -188,13 +188,13 @@ fi case $AUTH in 0) echo - echo "Seting origin URL using its https web address" + echo "Setting origin URL using its https web address" echo git remote set-url origin https://github.com/${OWNER}/${REPO}.git ;; 1) echo - echo "Seting origin URL using SSH" + echo "Setting origin URL using SSH" echo git remote set-url origin git@github.com:$OWNER/$REPO.git ;;