fix: adding in standard build
This commit is contained in:
parent
b7587d01be
commit
0f9b3899c0
|
@ -0,0 +1,26 @@
|
|||
# EditorConfig is awesome: http://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
max_line_length = 80
|
||||
tab_width = 4
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.{js,ts}]
|
||||
quote_type = double
|
||||
|
||||
[*.yaml]
|
||||
indent_size = 4
|
||||
tab_width = 4
|
||||
indent_style = space
|
||||
|
||||
[package.json]
|
||||
indent_size = 2
|
||||
tab_width = 2
|
|
@ -0,0 +1,2 @@
|
|||
export PATH=$PWD/scripts:$PWD/node_modules/.bin:$PATH
|
||||
use flake || use nix
|
|
@ -1,3 +1,13 @@
|
|||
combine*
|
||||
summary.*
|
||||
dmoonfire*
|
||||
*~
|
||||
node_modules/
|
||||
.direnv/
|
||||
tmp/
|
||||
build/
|
||||
|
||||
.*-swp
|
||||
dmoonfire*.pdf
|
||||
dmoonfire*.docx
|
||||
dmoonfire*.html
|
||||
dmoonfire*.mobi
|
||||
dmoonfire*.epub
|
||||
*.bz2
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
CHANGELOG.md
|
||||
package-lock.json
|
||||
yarn.lock
|
||||
|
||||
*~
|
||||
|
||||
archives/
|
||||
build/
|
||||
extras/
|
||||
others/
|
||||
node_modules/
|
||||
submissions/
|
||||
sample-edits/
|
||||
maps/
|
||||
.direnv/
|
||||
tmp/
|
||||
edit/
|
|
@ -0,0 +1,36 @@
|
|||
clone:
|
||||
git:
|
||||
image: woodpeckerci/plugin-git
|
||||
settings:
|
||||
tags: true
|
||||
|
||||
pipeline:
|
||||
build:
|
||||
image: registry.gitlab.com/dmoonfire/nix-flake-docker:latest
|
||||
commands:
|
||||
- nix profile install 'nixpkgs#fontconfig'
|
||||
- nix develop --command scripts/build.sh
|
||||
secrets:
|
||||
- gitea_token
|
||||
- s3_bucket
|
||||
- s3_endpoint
|
||||
- s3_access_key_id
|
||||
- s3_secret_access_key
|
||||
when:
|
||||
event: [push, pull_request, tag]
|
||||
tag: v*
|
||||
|
||||
release:
|
||||
image: registry.gitlab.com/dmoonfire/nix-flake-docker:latest
|
||||
commands:
|
||||
- nix profile install 'nixpkgs#fontconfig'
|
||||
- nix develop --command scripts/release.sh
|
||||
secrets:
|
||||
- gitea_token
|
||||
- s3_bucket
|
||||
- s3_endpoint
|
||||
- s3_access_key_id
|
||||
- s3_secret_access_key
|
||||
when:
|
||||
event: push
|
||||
branch: main
|
|
@ -0,0 +1,6 @@
|
|||
module.exports = {
|
||||
extends: ["@commitlint/config-conventional"],
|
||||
rules: {
|
||||
"body-max-line-length": [0],
|
||||
},
|
||||
};
|
66
fedran.json
66
fedran.json
|
@ -3,21 +3,77 @@
|
|||
"identifier": "0045-02",
|
||||
"character": {
|
||||
"pov": 45,
|
||||
"name": "Tsubàyo"
|
||||
"name": "Tsubàyo",
|
||||
"character_slug": "tsubayo"
|
||||
},
|
||||
"source": {
|
||||
"pov": 45,
|
||||
"volume": 2,
|
||||
"title": "Things Are Different Here",
|
||||
"status": "unstable",
|
||||
"word_count": 11429,
|
||||
"length": "Novelette",
|
||||
"title_slug": "things-are-different-here",
|
||||
"identifier_slug": "0045-02-things-are-different-here",
|
||||
"copyright_year": 2022,
|
||||
"status": "Unstable",
|
||||
"has_dedication": false,
|
||||
"git": {
|
||||
"http_url": "https://gitlab.com/fedran/things-are-different-here.git",
|
||||
"http_url": "https://src.mfgames.com/fedran-sources/things-are-different-here.git",
|
||||
"branch": "main"
|
||||
},
|
||||
"links": {
|
||||
"development": {
|
||||
"git": "https://gitlab.com/fedran/things-are-different-here"
|
||||
"git": "https://src.mfgames.com/fedran-sources/things-are-different-here/",
|
||||
"issues": "https://src.mfgames.com/fedran-sources/things-are-different-here/issues"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cover": {
|
||||
"title_page_lines": [
|
||||
"Things Are",
|
||||
"Different",
|
||||
"Here"
|
||||
]
|
||||
},
|
||||
"warnings": {
|
||||
"text": "This novelette contains no scenes of sexual assault."
|
||||
},
|
||||
"chapters": [
|
||||
{
|
||||
"title": "Bullies",
|
||||
"word_count": 1579,
|
||||
"date": "2020-05-09",
|
||||
"summary": "Still getting used to his new clan, Tsubàyo struggles with the bullying from many of the warriors. No one seems to be willing to stand up for him and he quickly reaches his limits.\n"
|
||||
},
|
||||
{
|
||||
"title": "Getting Even",
|
||||
"word_count": 2404,
|
||||
"date": "2020-05-16",
|
||||
"summary": "Alone with his thoughts, Tsubàyo can't help but see the similarities between his early years with Shimusògo and his current time with the Pabinkúe. Seeing very little difference, he prepares to deal with Ukagòi in the same manner: by ambushing him and a drawn-out fight.\n"
|
||||
},
|
||||
{
|
||||
"title": "Sweeping In",
|
||||
"word_count": 1113,
|
||||
"date": "2020-05-23",
|
||||
"summary": "His rage interrupted by Fimúchi, Tsubàyo finds himself preparing a meal with the young woman. He can't help but wonder if she is going to spend more time with him but she had other plans in mind for that morning.\n"
|
||||
},
|
||||
{
|
||||
"title": "Surprise Guests",
|
||||
"word_count": 1950,
|
||||
"date": "2020-05-30",
|
||||
"summary": "Tsubàyo realizes that Fimúchi's plans were more than just a random visitor when her mother shows up at the door. Surprised and startled, he lets her in and quickly finds himself losing even more control over the meal.\n"
|
||||
},
|
||||
{
|
||||
"title": "Memories",
|
||||
"word_count": 1487,
|
||||
"date": "2020-06-06",
|
||||
"summary": "Tsubàyo is encouraged and pressed into revealing the one thing he didn't want to talk about again: the death that led him joining the clan. However, when five women ask him for details, he couldn't deny all of them.\n"
|
||||
},
|
||||
{
|
||||
"title": "The Morning After",
|
||||
"word_count": 2896,
|
||||
"date": "2020-06-13",
|
||||
"summary": "After a night of confession, Tsubàyo wasn't ready to face the clean or Maporéku. However, he had duties to the clan and he would do it, even if it was going to result in a miserable evening to say the least.\n"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1642700792,
|
||||
"narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "846b2ae0fc4cc943637d3d1def4454213e203cba",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1643805626,
|
||||
"narHash": "sha256-AXLDVMG+UaAGsGSpOtQHPIKB+IZ0KSd9WS77aanGzgc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "554d2d8aa25b6e583575459c297ec23750adb6cb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-unstable",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixstable": {
|
||||
"locked": {
|
||||
"lastModified": 1622516815,
|
||||
"narHash": "sha256-ZjBd81a6J3TwtlBr3rHsZspYUwT9OdhDk+a/SgSEf7I=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7e9b0dff974c89e070da1ad85713ff3c20b0ca97",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"ref": "21.05",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixstable": "nixstable"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
inputs = {
|
||||
nixstable.url = "nixpkgs/21.05";
|
||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixstable, flake-utils }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
stable = nixstable.legacyPackages.${system};
|
||||
in {
|
||||
devShell = pkgs.mkShell {
|
||||
buildInputs = [
|
||||
pkgs.epubcheck
|
||||
pkgs.nixfmt
|
||||
pkgs.nodejs-16_x
|
||||
pkgs.pandoc
|
||||
pkgs.pdftk
|
||||
pkgs.python39Full
|
||||
pkgs.python39Packages.weasyprint
|
||||
pkgs.jq
|
||||
pkgs.s3cmd
|
||||
];
|
||||
};
|
||||
});
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
title: About D. Moonfire
|
||||
---
|
||||
|
||||
D. Moonfire is the remarkable intersection of a computer nerd and a scientist. He inherited a desire for learning, endless curiosity, and a talent for being a polymath from both of his parents. Instead of focusing on a single genre, he writes stories and novels in many different settings ranging from fantasy to science fiction. He also throws in the occasional romance or forensics murder mystery to mix things up.
|
||||
|
||||
In addition to having a borderline unhealthy obsession with the written word, he is also a developer who loves to code as much as he loves writing.
|
||||
|
||||
He lives near Cedar Rapids, Iowa with his wife, numerous pet computers, and a pair of highly mobile things of the male variety.
|
||||
|
||||
You can see more work by D. Moonfire at his website at [https://d.moonfire.us/](https://d.moonfire.us/). His fantasy world, Fedran, can be found at [https://fedran.com/](https://fedran.com/).
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
title: Fedran
|
||||
---
|
||||
|
||||
Fedran is a world caught on the cusp of two great ages.
|
||||
|
||||
For centuries, the Crystal Age shaped society through the exploration of magic. Every creature had the ability to affect the world using talents and spells. The only limitation was imagination, will, and the inescapable rules of resonance. But as society grew more civilized, magic became less reliable and weaker.
|
||||
|
||||
When an unexpected epiphany seemingly breaks the laws of resonance, everything changed. Artifacts no longer exploded when exposed to spells, but only if they were wrapped in cocoons of steel and brass. The humble fire rune becomes the fuel for new devices, ones powered by steam and pressure. These machines herald the birth of a new age, the Industrial Age.
|
||||
|
||||
Now, the powers of the old age struggle against the onslaught of new technologies and an alien way of approaching magic. Either the world will adapt or it will be washed away in the relentless march of innovation.
|
||||
|
||||
To explore the world of Fedran, check out [https://fedran.com/](https://fedran.com/). There you'll find stories, novels, character write-ups and more.
|
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
title: Legal
|
||||
---
|
||||
|
||||
Copyright © 2022 D. Moonfire\
|
||||
Some Rights Reserved\
|
||||
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
|
||||
|
||||
Cover art by D. Moonfire
|
||||
|
||||
All characters, events, and locations are fictitious. Any resemblance to persons, past, present, and future is coincidental and highly unlikely.
|
||||
|
||||
This novelette contains no scenes of sexual assault.
|
||||
|
||||
Broken Typewriter Press\
|
||||
5001 1st Ave SE\
|
||||
Ste 105 #243\
|
||||
Cedar Rapids, IA 52402
|
||||
|
||||
Broken Typewriter Press\
|
||||
[https://broken.typewriter.press/](https://broken.typewriter.press/)
|
||||
|
||||
{% if (edition.isbn) %}
|
||||
ISBN {{edition.isbn}}
|
||||
{% endif %}
|
||||
|
||||
Version {{edition.version}}
|
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
title: License
|
||||
---
|
||||
|
||||
This book is distributed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. More info can be found at [https://creativecommons.org/licenses/by-nc-sa/4.0/](https://creativecommons.org/licenses/by-nc-sa/4.0/). This means:
|
||||
|
||||
### You are free to:
|
||||
|
||||
- Share — copy and redistribute the material in any medium or format
|
||||
- Adapt — remix, transform, and build upon the material
|
||||
|
||||
The licensor cannot revoke these freedoms as long as you follow the license terms.
|
||||
|
||||
### Under the following terms:
|
||||
|
||||
- Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
|
||||
- NonCommercial — You may not use the material for commercial purposes.
|
||||
- ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
|
||||
|
||||
No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
|
||||
|
||||
### Preferred Attribution
|
||||
|
||||
The preferred attribution for this novel is:
|
||||
|
||||
> "Things Are Different Here" by D. Moonfire is licensed under CC BY-NC-SA 4.0
|
||||
|
||||
In the above attribution, use the following links:
|
||||
|
||||
- Flight of the Scions: [https://fedran.com/things-are-different-here/](https://fedran.com/things-are-different-here/)
|
||||
- D. Moonfire: https://d.moonfire.us/
|
||||
- CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
|
@ -0,0 +1 @@
|
|||
<br />
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
title: Title
|
||||
---
|
||||
|
||||
<div class="title">
|
||||
<div class="title-area">
|
||||
<div class="large">Things Are</div>
|
||||
<div class="large">Different</div>
|
||||
<div class="large">Here</div>
|
||||
</div>
|
||||
|
||||
<div class="author">D. Moonfire</div>
|
||||
|
||||
<div class="publisher">Broken Typewriter Press • Cedar Rapids</div>
|
||||
</div>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"name": "things-are-different-here",
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"description": "\"Things Are Different Here\" is a novelette by D. Moonfire.",
|
||||
"author": {
|
||||
"name": "D. Moonfire"
|
||||
},
|
||||
"license": "CC-BY-NC-SA-4.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://src.mfgames.com/fedran-sources/things-are-different-here.git"
|
||||
},
|
||||
"homepage": "https://fedran.com/things-are-different-here/",
|
||||
"scripts": {
|
||||
"build:pdf": "mfgames-writing-format build pdf",
|
||||
"build:epub": "mfgames-writing-format build epub",
|
||||
"build:docx": "mfgames-writing-format build docx",
|
||||
"build": "run-s build:*",
|
||||
"prepare": "husky install"
|
||||
},
|
||||
"dependencies": {
|
||||
"@fedran/writing-hyphen": "^1.0.0",
|
||||
"@fedran/writing-theme": "^4.0.2",
|
||||
"@mfgames-writing/contracts": "^4.4.0",
|
||||
"@mfgames-writing/docx-format": "^1.0.2",
|
||||
"@mfgames-writing/epub2-format": "^2.1.1",
|
||||
"@mfgames-writing/format": "^3.3.1",
|
||||
"@mfgames-writing/guillemet": "^1.0.0",
|
||||
"@mfgames-writing/hyphen-pipeline": "^1.0.2",
|
||||
"@mfgames-writing/liquid-theme": "^2.1.1",
|
||||
"@mfgames-writing/weasyprint-format": "^5.0.4",
|
||||
"markdown-it-multimd-table": "^4.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^15.0.0",
|
||||
"@commitlint/config-conventional": "^15.0.0",
|
||||
"@saithodev/semantic-release-gitea": "^2.1.0",
|
||||
"@semantic-release/changelog": "^6.0.1",
|
||||
"@semantic-release/exec": "^6.0.3",
|
||||
"@semantic-release/git": "^10.0.1",
|
||||
"@semantic-release/npm": "^8.0.3",
|
||||
"@semantic-release/release-notes-generator": "^10.0.3",
|
||||
"husky": "^7.0.2",
|
||||
"markdowny": "^0.2.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "^2.0.5",
|
||||
"semantic-release": "^18.0.1"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
{
|
||||
"metadata": {
|
||||
"title": "{{edition.fedran.source.title}}",
|
||||
"author": "D. Moonfire",
|
||||
"language": "en",
|
||||
"theme": "@fedran/writing-theme",
|
||||
"outputDirectory": ".",
|
||||
"outputFilename": "dmoonfire-{{edition.fedran.source.title_slug}}-{{edition.name}}-{{edition.version}}.{{edition.ext}}",
|
||||
"markdown": {
|
||||
"extensions": [
|
||||
{
|
||||
"package": "markdown-it-multimd-table",
|
||||
"options": {
|
||||
"headerless": true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"style": {
|
||||
"css": "td { width: 6em; } td[colspan=\"2\"] { width: 12em; }"
|
||||
}
|
||||
},
|
||||
"includes": [
|
||||
{
|
||||
"json": "./fedran.json",
|
||||
"merge": "metadata.fedran"
|
||||
}
|
||||
],
|
||||
"editions": {
|
||||
"epub": {
|
||||
"format": "@mfgames-writing/epub2-format",
|
||||
"ext": "epub"
|
||||
},
|
||||
"pdf": {
|
||||
"format": "@mfgames-writing/weasyprint-format",
|
||||
"isbn": "",
|
||||
"images": {
|
||||
"grayscale": true,
|
||||
"opaque": true
|
||||
},
|
||||
"ext": "pdf"
|
||||
},
|
||||
"docx": {
|
||||
"format": "@mfgames-writing/docx-format",
|
||||
"ext": "docx"
|
||||
}
|
||||
},
|
||||
"contents": [
|
||||
{
|
||||
"element": "bastard",
|
||||
"source": "matter/title.html",
|
||||
"linear": false,
|
||||
"exclude": {
|
||||
"editions": ["epub", "html"],
|
||||
"toc": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"element": "title",
|
||||
"source": "matter/title.html",
|
||||
"linear": false,
|
||||
"exclude": {
|
||||
"toc": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"element": "legal",
|
||||
"source": "matter/legal.md",
|
||||
"liquid": true,
|
||||
"linear": false
|
||||
},
|
||||
{
|
||||
"element": "toc",
|
||||
"linear": false,
|
||||
"title": "Contents",
|
||||
"exclude": {
|
||||
"editions": ["pdf"]
|
||||
}
|
||||
},
|
||||
{
|
||||
"element": "chapter",
|
||||
"number": 1,
|
||||
"directory": "chapters",
|
||||
"source": "/^chapter-\\d+.(markdown|md)$/",
|
||||
"start": true,
|
||||
"page": 1,
|
||||
"pipeline": [
|
||||
{
|
||||
"module": "@mfgames-writing/guillemet"
|
||||
},
|
||||
{
|
||||
"module": "@fedran/writing-hyphen"
|
||||
},
|
||||
{
|
||||
"module": "@mfgames-writing/hyphen-pipeline",
|
||||
"exclude": ["`.*?`", "<code>.*?</code>"]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"element": "appendix",
|
||||
"source": "matter/about.md"
|
||||
},
|
||||
{
|
||||
"element": "appendix",
|
||||
"source": "matter/fedran.md"
|
||||
},
|
||||
{
|
||||
"element": "appendix",
|
||||
"id": "license",
|
||||
"source": "matter/license.md"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
module.exports = {
|
||||
branches: ["main"],
|
||||
|
||||
extends: ["@commitlint/config-conventional"],
|
||||
message:
|
||||
"chore(release): v${nextRelease.version} [skip ci]\n\n${nextRelease.notes}",
|
||||
|
||||
plugins: [
|
||||
[
|
||||
"@semantic-release/commit-analyzer",
|
||||
|
||||
{
|
||||
preset: "conventionalcommits",
|
||||
},
|
||||
],
|
||||
"@semantic-release/release-notes-generator",
|
||||
"@semantic-release/npm",
|
||||
[
|
||||
"@semantic-release/exec",
|
||||
{
|
||||
prepareCmd: "npm run build",
|
||||
},
|
||||
],
|
||||
"@semantic-release/changelog",
|
||||
"@semantic-release/git",
|
||||
|
||||
[
|
||||
"@saithodev/semantic-release-gitea",
|
||||
{
|
||||
giteaUrl: "https://src.mfgames.com",
|
||||
assets: [
|
||||
{ path: "*.epub", label: "EPUB2", type: "other" },
|
||||
{ path: "*.pdf", label: "PDF", type: "other" },
|
||||
{ path: "*.docx", label: "DOCX", type: "other" },
|
||||
],
|
||||
},
|
||||
],
|
||||
],
|
||||
};
|
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Set up logging.
|
||||
log() { echo "🛠️ $(basename $0): $@"; }
|
||||
|
||||
# Move into the root folder.
|
||||
cd $(dirname $(dirname $0))
|
||||
|
||||
# Make sure everything is set up.
|
||||
log "setting up project"
|
||||
./scripts/setup.sh || exit 1
|
||||
|
||||
# Build the project outputs.
|
||||
log "building PDF"
|
||||
npm run build:pdf || exit 1
|
||||
|
||||
log "building EPUB"
|
||||
npm run build:epub || exit 1
|
|
@ -0,0 +1,27 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Checks the environment to see if we have all the requisite components needed
|
||||
# to upload or download from the S3 bucket.
|
||||
|
||||
# Set up logging.
|
||||
log() { echo "⚗️ $(basename $0): $@"; }
|
||||
|
||||
# Move into the root folder.
|
||||
cd $(dirname $(dirname $0))
|
||||
|
||||
for i in S3_ACCESS_KEY_ID S3_SECRET_ACCESS_KEY S3_ENDPOINT S3_BUCKET
|
||||
do
|
||||
if [ "x${!i}" = "x" ]
|
||||
then
|
||||
log "missing environment variable $i"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ! which s3cmd 2> /dev/null ]
|
||||
then
|
||||
log "cannot find 's3cmd' to execute"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,40 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Builds the final versions of the book and then upload the results to various
|
||||
# locations.
|
||||
|
||||
# Set up logging.
|
||||
log() { echo "️🚢 $(basename $0): $@"; }
|
||||
|
||||
# Move into the root folder.
|
||||
cd $(dirname $(dirname $0))
|
||||
|
||||
# Perform the basic environment checks and setup.
|
||||
./scripts/setup.sh || exit 1
|
||||
./scripts/check-env-bucket.sh || exit 1
|
||||
|
||||
# Clean up old versions of the file.
|
||||
log "cleaning up prior versions which may not match versions"
|
||||
rm -f dmoonfire*
|
||||
|
||||
# Perform the release process.
|
||||
log "performing semantic release"
|
||||
export GIT_CREDENTIALS="dmoonfire:$GITEA_TOKEN"
|
||||
npx semantic-release || exit 1
|
||||
|
||||
# Create a tarball of the output files and upload them to S3.
|
||||
if ls dmoonfire* &> /dev/null
|
||||
then
|
||||
log "packaging output into a tarball"
|
||||
tar -cjf things-are-different-here.tar.bz2 dmoonfire*
|
||||
|
||||
log "uploading tarball to bucket"
|
||||
export AWS_ACCESS_KEY_ID=$S3_ACCESS_KEY_ID
|
||||
export AWS_SECRET_ACCESS_KEY=$S3_SECRET_ACCESS_KEY
|
||||
export AWS_ENDPOINT=$S3_ENDPOINT
|
||||
export AWS_BUCKET=$S3_BUCKET
|
||||
s3cmd --access_key=$S3_ACCESS_KEY_ID --access_token=$S3_SECRET_ACCESS_KEY --host=$S3_ENDPOINT --host-bucket=$S3_ENDPOINT -P put things-are-different-here.tar.bz2 s3://$S3_BUCKET || exit 1
|
||||
else
|
||||
log "no files to upload"
|
||||
fi
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Sets up the fonts for building the PDF output. It doesn't do it if we are not
|
||||
# in a CI environment.
|
||||
|
||||
# Set up logging.
|
||||
log() { echo "✒️ $(basename $0): $@"; }
|
||||
|
||||
# Move into the root directory.
|
||||
cd $(dirname $(dirname $0))
|
||||
|
||||
# We only insert the fonts if we are on a CI server.
|
||||
if [ "x$CI" == "x" ]
|
||||
then
|
||||
log "not in CI environment, not installing fonts"
|
||||
else
|
||||
log "installing fonts"
|
||||
mkdir -p ~/.local/share/fonts
|
||||
cp $(nix-build --no-out-link '<nixpkgs>' -A source-serif-pro)/share/fonts/opentype/*.otf ~/.local/share/fonts
|
||||
cp $(nix-build --no-out-link '<nixpkgs>' -A source-sans-pro)/share/fonts/opentype/*.otf ~/.local/share/fonts
|
||||
|
||||
log "updating font caches"
|
||||
fc-cache
|
||||
fi
|
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Installs the required Node packages
|
||||
|
||||
# Set up logging.
|
||||
log() { echo "📦️ $(basename $0): $@"; }
|
||||
|
||||
# Move into the root directory.
|
||||
cd $(dirname $(dirname $0))
|
||||
|
||||
if [ -d ./node_modules ]
|
||||
then
|
||||
log "node_modules already exists"
|
||||
else
|
||||
log "setting up node"
|
||||
npm install --ci
|
||||
fi
|
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Move into the root folder.
|
||||
cd $(dirname $(dirname $0))
|
||||
|
||||
# Run the setup commands.
|
||||
./scripts/setup-fonts.sh || exit 1
|
||||
|
||||
./scripts/setup-node.sh || exit 1
|
Loading…
Reference in New Issue