build: updating publication packages

This commit is contained in:
D. Moonfire 2018-08-26 01:56:15 -05:00
parent 989d33507c
commit c5ba5d3ec1
5 changed files with 9897 additions and 866 deletions

38
.gitignore vendored
View File

@ -1,35 +1,11 @@
*~
*.pdf
*.mobi
*.epub
*.doc
*.rtf
*.docx
*.bak
*.fo
book*markdown
dmoonfire*markdown
dmoonfire*yaml
\#*
.#*
build/
.backup/
t/
tmp/
node_modules/
cover-??.png
cover-??-*.png
# XML Files that are generated or copied around.
about.xml
curiouscabbit.xml
# Other generated files
abbrev.el
latex.out
# Covers
backmatter/*.jpg
# Output
*-*.*.*.epub
*-*.*.*.pdf
*-*.*.*.mobi
*-*.*.*.html
*-*.*.*.docx

View File

@ -1,57 +1,48 @@
image: dmoonfire/mfgames-writing-js:1.1.0
stages:
- review
- publish
review:
stage: review
only:
- master
tags:
- docker
script:
# Install the basic requirements including the free fonts.
- npm ci
# Corda is a non-free font that we use for the books. It was
# picked before Source Serif Pro was created and will continue to
# be used until SSP can handle proper italics. To get around this,
# we stored it in a secret location that Gitlab CI knows about but
# everyone else does not.
- wget $CORDA_FONTS_URL/$CORDA_FONTS_BZ2BALL
- tar -xjf $CORDA_FONTS_BZ2BALL
- mkdir -p ~/.fonts/
- mv *.otf ~/.fonts/
- fc-cache -rf
# We need the covers.
- mkdir -p build/repos
- git clone https://oauth2:$fedranAccessKey@gitlab.com/fedran/fedran-covers.git build/repos/fedran-covers
# Build the files.
- npm run build
- kindlegen *.epub
# Trigger the website to rebuild.
- "curl -X POST -F token=$fedranAccessKey -F ref=master https://gitlab.com/api/v4/projects/4027285/trigger/pipeline"
artifacts:
expire_in: 1 week
paths:
- "*.pdf"
- "*.epub"
- "*.mobi"
publish:
stage: publish
when: manual
script:
- echo Published
artifacts:
paths:
- "*.pdf"
- "*.epub"
- "*.mobi"
dependencies:
- review
image: dmoonfire/mfgames-writing-js:1.1.1
stages:
- publish
publish:
stage: publish
tags:
- docker
script:
# Install the basic requirements including the free fonts.
- npm ci
# Verify that the commits are good.
- npx commitlint --from=master to=CI_BUILD_REF_NAME
# Corda is a non-free font that we use for the books. It was
# picked before Source Serif Pro was created and will continue to
# be used until SSP can handle proper italics. To get around this,
# we stored it in a secret location that Gitlab CI knows about but
# everyone else does not.
- wget $CORDA_FONTS_URL/$CORDA_FONTS_BZ2BALL
- tar -xjf $CORDA_FONTS_BZ2BALL
- mkdir -p ~/.fonts/
- mv *.otf ~/.fonts/
- fc-cache -rf
# We need the covers for generation.
- mkdir -p build/repos
- git clone https://oauth2:$fedranAccessKey@gitlab.com/fedran/fedran-covers.git build/repos/fedran-covers
# Trigger the release if needed.
- npx semantic-release
# Build the files.
- npm run build
# Trigger the Fedran website to rebuild.
- "curl -X POST -F token=$fedranAccessKey -F ref=master https://gitlab.com/api/v4/projects/4027285/trigger/pipeline"
artifacts:
expire_in: 1 week
paths:
- "*.pdf"
- "*.epub"
- "*.mobi"
- "*.docx"
- "*.html"

10546
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -12,15 +12,59 @@
"scripts": {
"build:pdf": "mfgames-writing-format build pdf",
"build:epub": "mfgames-writing-format build epub",
"build": "npm run build:pdf && npm run build:epub"
"build": "npm run build:epub && npm run build:mobi && npm run build:pdf && npm run build:html && npm run build:docx",
"build:docx": "sed 's@&#173;@@g' < dmoonfire-$npm_package_fedran_pov-$npm_package_fedran_vol-$npm_package_name-$npm_package_version.html | pandoc -f html -t docx -o dmoonfire-$npm_package_fedran_pov-$npm_package_fedran_vol-$npm_package_name-$npm_package_version.docx",
"build:mobi": "kindlegen dmoonfire-$npm_package_fedran_pov-$npm_package_fedran_vol-$npm_package_name-$npm_package_version.epub",
"build:html": "mfgames-writing-format build html",
"commitmsg": "commitlint -E GIT_PARAMS"
},
"dependencies": {
"fedran-hyphen": "^0.2.0",
"fedran-theme": "^1.1.0",
"mfgames-writing-contracts": "^3.1.0",
"mfgames-writing-epub": "^1.1.1",
"mfgames-writing-format": "^1.0.1",
"mfgames-writing-hyphen": "^0.4.2",
"mfgames-writing-weasyprint": "^3.0.1"
}
"@fedran/writing-hyphen": "^1.0.0",
"@fedran/writing-theme": "^1.2.5",
"@mfgames-writing/epub2": "^1.1.3",
"@mfgames-writing/format": "^2.0.0",
"@mfgames-writing/guillemet": "^1.0.0",
"@mfgames-writing/html": "^0.1.1",
"@mfgames-writing/hyphen": "^0.4.3",
"@mfgames-writing/weasyprint": "^3.0.2"
},
"devDependencies": {
"@commitlint/cli": "^7.0.0",
"@commitlint/config-conventional": "^7.0.1",
"@semantic-release/changelog": "^3.0.0",
"@semantic-release/git": "^7.0.2",
"commitizen": "^2.10.1",
"cz-conventional-changelog": "^2.1.0",
"husky": "^0.14.3",
"semantic-release": "^15.9.9"
},
"release": {
"branch": "master",
"message": "chore(release): v${nextRelease.version}\n\n${nextRelease.notes}",
"verifyConditions": [
"@semantic-release/changelog",
"@semantic-release/git"
],
"analyzeCommits": [
"@semantic-release/commit-analyzer"
],
"prepare": [
"@semantic-release/changelog",
"@semantic-release/git"
],
"publish": [],
"success": [],
"fail": []
},
"commitlint": {
"extends": [
"@commitlint/config-conventional"
]
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
},
"private": true
}

View File

@ -18,16 +18,16 @@ metadata:
- Young Adult
language: en
theme: fedran-theme
theme: "@fedran/writing-theme"
outputDirectory: .
outputFilename: dmoonfire-100-00-sand-and-blood-{{edition.version}}.{{edition.editionName}}
outputFilename: dmoonfire-0100-00-sand-and-blood-{{edition.version}}.{{edition.editionName}}
editions:
epub:
format: mfgames-writing-epub
format: "@mfgames-writing/epub2"
pdf:
format: mfgames-writing-weasyprint
format: "@mfgames-writing/weasyprint"
isbn: 978-1-940509-06-8
images:
grayscale: true
@ -73,8 +73,8 @@ contents:
start: true
page: 1
pipeline: &pipelines
- module: ../../fedran-hyphen/lib/fedran-hyphen
- module: mfgames-writing-hyphen
- module: "@fedran/writing-hyphen"
- module: "@mfgames-writing/hyphen"
- element: appendix
source: backmatter/about.markdown
- element: appendix