Compare commits
17 Commits
df4545a7f1
...
v0.2.1
Author | SHA1 | Date | |
---|---|---|---|
0452c5fcf0
|
|||
2636e42533
|
|||
1a09a51780
|
|||
beb80145a4
|
|||
0076cbb971
|
|||
bd9945b24b
|
|||
760af891c5
|
|||
f8b15f0ff4
|
|||
20e585e708
|
|||
3da2c28b13
|
|||
35a2080714
|
|||
e99170f015
|
|||
f48d0a6194
|
|||
92a9fe5685
|
|||
d0166b1db9
|
|||
821456c226
|
|||
5ff9cee8de
|
@@ -3,6 +3,9 @@ name: Build and publish
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
- workflow_dispatch
|
- workflow_dispatch
|
||||||
|
# push:
|
||||||
|
# branches:
|
||||||
|
# - master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-publish:
|
build-and-publish:
|
||||||
|
@@ -58,6 +58,7 @@ figure[data-lang].big svg {
|
|||||||
max-height: none !important;
|
max-height: none !important;
|
||||||
} */
|
} */
|
||||||
|
|
||||||
|
/* figure:is([data-lang='pikchr'], [data-lang='nomnoml'], [data-lang='bytefield']) svg text:not([fill^='var']) { */
|
||||||
figure:is([data-lang='pikchr'], [data-lang='nomnoml'], [data-lang='bytefield']) svg text {
|
figure:is([data-lang='pikchr'], [data-lang='nomnoml'], [data-lang='bytefield']) svg text {
|
||||||
fill: var(--theme-text-body);
|
fill: var(--theme-text-body);
|
||||||
}
|
}
|
||||||
|
@@ -94,7 +94,7 @@ del {
|
|||||||
a {
|
a {
|
||||||
font-family: inherit;
|
font-family: inherit;
|
||||||
color: var(--theme-text-link);
|
color: var(--theme-text-link);
|
||||||
display: inline-flex;
|
display: inline;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
column-gap: 0.2rem;
|
column-gap: 0.2rem;
|
||||||
}
|
}
|
||||||
@@ -109,7 +109,8 @@ a:visited {
|
|||||||
color: var(--theme-text-link-visited);
|
color: var(--theme-text-link-visited);
|
||||||
}
|
}
|
||||||
|
|
||||||
a.icon-link {
|
a.icon-link,
|
||||||
|
a.inline-flex {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
column-gap: 0.3rem;
|
column-gap: 0.3rem;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -192,64 +193,64 @@ mark {
|
|||||||
|
|
||||||
/* ===== Tables ===== */
|
/* ===== Tables ===== */
|
||||||
|
|
||||||
table, .table, td, .td {
|
table, .faux-table, td, .faux-td {
|
||||||
color: var(--theme-text-body);
|
color: var(--theme-text-body);
|
||||||
font-family: var(--font-body);
|
font-family: var(--font-body);
|
||||||
}
|
}
|
||||||
|
|
||||||
table, .table {
|
table, .faux-table {
|
||||||
display: table;
|
display: table;
|
||||||
margin-block: 2rem;
|
margin-block: 2rem;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
}
|
}
|
||||||
|
|
||||||
table, th, td,
|
table, th, td,
|
||||||
.table, .th, .td {
|
.faux-table, .faux-th, .faux-td {
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
line-height: 1.75;
|
line-height: 1.75;
|
||||||
}
|
}
|
||||||
|
|
||||||
thead, .thead {
|
thead, .faux-thead {
|
||||||
display: table-header-group;
|
display: table-header-group;
|
||||||
}
|
}
|
||||||
|
|
||||||
tbody, .tbody {
|
tbody, .faux-tbody {
|
||||||
display: table-row-group;
|
display: table-row-group;
|
||||||
}
|
}
|
||||||
|
|
||||||
tbody tr,
|
tbody tr,
|
||||||
.tbody .tr {
|
.faux-tbody .faux-tr {
|
||||||
border-top: 1px var(--theme-line) solid;
|
border-top: 1px var(--theme-line) solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
tr, .tr {
|
tr, .faux-tr {
|
||||||
display: table-row;
|
display: table-row;
|
||||||
}
|
}
|
||||||
|
|
||||||
th, .th {
|
th, .faux-th {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: var(--theme-text-heading);
|
color: var(--theme-text-heading);
|
||||||
}
|
}
|
||||||
|
|
||||||
th, .th,
|
th, .faux-th,
|
||||||
td, .td {
|
td, .faux-td {
|
||||||
padding-block: 0.5rem;
|
padding-block: 0.5rem;
|
||||||
padding-inline: 1rem;
|
padding-inline: 1rem;
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
}
|
}
|
||||||
|
|
||||||
td, .td {
|
td, .faux-td {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
|
|
||||||
:is(td, .td):not(:last-of-type) {
|
:is(td, .faux-td):not(:last-of-type) {
|
||||||
border-inline-end: 0.1rem solid var(--theme-line);
|
border-inline-end: 0.1rem solid var(--theme-line);
|
||||||
}
|
}
|
||||||
|
|
||||||
:is(table, .table) :is(input, select) {
|
:is(table, .faux-table) :is(input, select) {
|
||||||
margin-block: 0;
|
margin-block: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
18
package-lock.json
generated
18
package-lock.json
generated
@@ -1,16 +1,16 @@
|
|||||||
{
|
{
|
||||||
"name": "@doc-utils/docs2website",
|
"name": "@doc-utils/docs2website",
|
||||||
"version": "0.1.6",
|
"version": "0.2.1",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@doc-utils/docs2website",
|
"name": "@doc-utils/docs2website",
|
||||||
"version": "0.1.6",
|
"version": "0.2.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@doc-utils/color-themes": "^0.2.0",
|
"@doc-utils/color-themes": "^0.2.0",
|
||||||
"@doc-utils/jsonschema2markdown": "^0.1.1",
|
"@doc-utils/jsonschema2markdown": "^0.1.1",
|
||||||
"@doc-utils/markdown2html": "^0.3.4",
|
"@doc-utils/markdown2html": "^0.3.6",
|
||||||
"glob": "^10.2.3",
|
"glob": "^10.2.3",
|
||||||
"ical": "^0.8.0",
|
"ical": "^0.8.0",
|
||||||
"ical-generator": "^4.1.0",
|
"ical-generator": "^4.1.0",
|
||||||
@@ -51,9 +51,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@doc-utils/markdown2html": {
|
"node_modules/@doc-utils/markdown2html": {
|
||||||
"version": "0.3.4",
|
"version": "0.3.6",
|
||||||
"resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fmarkdown2html/-/0.3.4/markdown2html-0.3.4.tgz",
|
"resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fmarkdown2html/-/0.3.6/markdown2html-0.3.6.tgz",
|
||||||
"integrity": "sha512-zL3kay/zbrBJWGKIxGCyF+EXsafSxY1aN+miG+GOyml1neoOwd67vNIiE96KuEucf6rvuICPiYTjm3uJxkjd/g==",
|
"integrity": "sha512-LCt5HAAcHz6lE+IqV2igQP7bbTq1juNbyn4KWqn3xe9eSslIyl7EvSaEH68WQtqEzX/iVFOvZz7qSoqsQeggXA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bytefield-svg": "^1.6.1",
|
"bytefield-svg": "^1.6.1",
|
||||||
"dompurify": "^2.3.6",
|
"dompurify": "^2.3.6",
|
||||||
@@ -2695,9 +2695,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@doc-utils/markdown2html": {
|
"@doc-utils/markdown2html": {
|
||||||
"version": "0.3.4",
|
"version": "0.3.6",
|
||||||
"resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fmarkdown2html/-/0.3.4/markdown2html-0.3.4.tgz",
|
"resolved": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/%40doc-utils%2Fmarkdown2html/-/0.3.6/markdown2html-0.3.6.tgz",
|
||||||
"integrity": "sha512-zL3kay/zbrBJWGKIxGCyF+EXsafSxY1aN+miG+GOyml1neoOwd67vNIiE96KuEucf6rvuICPiYTjm3uJxkjd/g==",
|
"integrity": "sha512-LCt5HAAcHz6lE+IqV2igQP7bbTq1juNbyn4KWqn3xe9eSslIyl7EvSaEH68WQtqEzX/iVFOvZz7qSoqsQeggXA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"bytefield-svg": "^1.6.1",
|
"bytefield-svg": "^1.6.1",
|
||||||
"dompurify": "^2.3.6",
|
"dompurify": "^2.3.6",
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@doc-utils/docs2website",
|
"name": "@doc-utils/docs2website",
|
||||||
"version": "0.1.6",
|
"version": "0.2.1",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/"
|
"registry": "https://gitea.jbrumond.me/api/packages/doc-utils/npm/"
|
||||||
},
|
},
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@doc-utils/color-themes": "^0.2.0",
|
"@doc-utils/color-themes": "^0.2.0",
|
||||||
"@doc-utils/jsonschema2markdown": "^0.1.1",
|
"@doc-utils/jsonschema2markdown": "^0.1.1",
|
||||||
"@doc-utils/markdown2html": "^0.3.4",
|
"@doc-utils/markdown2html": "^0.3.6",
|
||||||
"glob": "^10.2.3",
|
"glob": "^10.2.3",
|
||||||
"ical": "^0.8.0",
|
"ical": "^0.8.0",
|
||||||
"ical-generator": "^4.1.0",
|
"ical-generator": "^4.1.0",
|
||||||
|
@@ -8,9 +8,8 @@ import { render_theme_css_properties } from '../themes';
|
|||||||
import { load_partials, FrontMatter, Context, load_layout, render_template, EventFrontmatter } from '../template';
|
import { load_partials, FrontMatter, Context, load_layout, render_template, EventFrontmatter } from '../template';
|
||||||
import { render_markdown_to_html, render_markdown_to_html_inline_sync } from '@doc-utils/markdown2html';
|
import { render_markdown_to_html, render_markdown_to_html_inline_sync } from '@doc-utils/markdown2html';
|
||||||
import { RSSEntry } from './rss';
|
import { RSSEntry } from './rss';
|
||||||
import { DateTime } from 'luxon';
|
|
||||||
import { EventEntry } from './icalendar';
|
import { EventEntry } from './icalendar';
|
||||||
import { as_context_time, as_html_time, from_iso } from '../time';
|
import { as_context_time, from_iso } from '../time';
|
||||||
import { FileMetadata } from '../metadata';
|
import { FileMetadata } from '../metadata';
|
||||||
|
|
||||||
export interface OutFileURL {
|
export interface OutFileURL {
|
||||||
@@ -31,9 +30,9 @@ export function map_output_file_to_url(state: BuildState, out_file: string, inde
|
|||||||
rel_path = '/' + rel_path;
|
rel_path = '/' + rel_path;
|
||||||
}
|
}
|
||||||
|
|
||||||
const base_url = state.conf.base_url.endsWith('/')
|
const base_url = state.conf.base_url?.endsWith('/')
|
||||||
? state.conf.base_url.slice(0, -1)
|
? state.conf.base_url.slice(0, -1)
|
||||||
: state.conf.base_url;
|
: (state.conf.base_url ?? '');
|
||||||
|
|
||||||
return {
|
return {
|
||||||
base_url,
|
base_url,
|
||||||
@@ -108,7 +107,7 @@ export function mustache_context(state: BuildState, page_url: string, metadata:
|
|||||||
return {
|
return {
|
||||||
env: state.env,
|
env: state.env,
|
||||||
page: frontmatter,
|
page: frontmatter,
|
||||||
base_url: state.conf.base_url,
|
base_url: state.conf.base_url ?? '/',
|
||||||
page_url: page_url,
|
page_url: page_url,
|
||||||
page_published: as_context_time(from_iso(metadata.first_seen_time), 'dt-published'),
|
page_published: as_context_time(from_iso(metadata.first_seen_time), 'dt-published'),
|
||||||
page_updated: has_been_updated ? as_context_time(from_iso(metadata.last_updated_time), 'dt-updated') : null,
|
page_updated: has_been_updated ? as_context_time(from_iso(metadata.last_updated_time), 'dt-updated') : null,
|
||||||
@@ -142,7 +141,7 @@ export function mustache_context(state: BuildState, page_url: string, metadata:
|
|||||||
export async function render_page(state: BuildState, in_file: string, out_file: string, out_url: OutFileURL, text: string, render_as_markdown: boolean, hash: string, frontmatter?: any) {
|
export async function render_page(state: BuildState, in_file: string, out_file: string, out_url: OutFileURL, text: string, render_as_markdown: boolean, hash: string, frontmatter?: any) {
|
||||||
if (render_as_markdown) {
|
if (render_as_markdown) {
|
||||||
const opts = Object.assign({ }, state.conf.markdown, {
|
const opts = Object.assign({ }, state.conf.markdown, {
|
||||||
base_url: out_url.abs_url
|
// base_url: out_url.abs_url,
|
||||||
});
|
});
|
||||||
|
|
||||||
text = await render_markdown_to_html(text, opts);
|
text = await render_markdown_to_html(text, opts);
|
||||||
|
@@ -34,7 +34,7 @@ export async function render_markdown_file(state: BuildState, in_file: string) {
|
|||||||
const out_file = await map_input_file_to_output_file(state, in_file, [ '.md', '.markdown' ], '.html');
|
const out_file = await map_input_file_to_output_file(state, in_file, [ '.md', '.markdown' ], '.html');
|
||||||
const out_url = map_output_file_to_url(state, out_file);
|
const out_url = map_output_file_to_url(state, out_file);
|
||||||
const { frontmatter, text, hash } = await read_text(in_file);
|
const { frontmatter, text, hash } = await read_text(in_file);
|
||||||
|
|
||||||
if (frontmatter?.skip) {
|
if (frontmatter?.skip) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user