Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
448d93f1f5 | |||
ce4c2c171a | |||
619762a5cd | |||
4cfeb23982 |
36
.gitea/workflows/build-and-pubilsh.yaml
Normal file
36
.gitea/workflows/build-and-pubilsh.yaml
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
|
||||||
|
name: Build and publish
|
||||||
|
|
||||||
|
on:
|
||||||
|
- workflow_dispatch
|
||||||
|
# push:
|
||||||
|
# branches:
|
||||||
|
# - master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
NPM_PUBLISH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
steps:
|
||||||
|
- name: Check out the repo
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Use Node.js 20
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 20
|
||||||
|
|
||||||
|
- name: Login to package registry
|
||||||
|
run: |
|
||||||
|
npm config set @doc-utils:registry https://gitea.jbrumond.me/api/packages/doc-utils/npm/
|
||||||
|
npm config set -- '//gitea.jbrumond.me/api/packages/doc-utils/npm/:_authToken' "$NPM_PUBLISH_TOKEN"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Compile TypeScript
|
||||||
|
run: npm run tsc
|
||||||
|
|
||||||
|
- name: Publish package
|
||||||
|
run: npm publish
|
40
.gitea/workflows/build-and-test.yaml
Normal file
40
.gitea/workflows/build-and-test.yaml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
|
||||||
|
name: Build and test
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [18.x, 20.x]
|
||||||
|
steps:
|
||||||
|
- name: Check out the repo
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
|
||||||
|
- name: Login to package registry
|
||||||
|
run: |
|
||||||
|
npm config set @doc-utils:registry https://gitea.jbrumond.me/api/packages/doc-utils/npm/
|
||||||
|
npm config set -- '//gitea.jbrumond.me/api/packages/doc-utils/npm/:_authToken' "$NPM_PUBLISH_TOKEN"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Compile TypeScript
|
||||||
|
run: npm run tsc
|
||||||
|
|
||||||
|
# todo: tests
|
||||||
|
- name: Run tests
|
||||||
|
run: exit 0
|
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@doc-utils/markdown2html",
|
"name": "@doc-utils/markdown2html",
|
||||||
"version": "0.3.5",
|
"version": "0.3.6",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@doc-utils/markdown2html",
|
"name": "@doc-utils/markdown2html",
|
||||||
"version": "0.3.5",
|
"version": "0.3.6",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"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/markdown2html",
|
"name": "@doc-utils/markdown2html",
|
||||||
"version": "0.3.5",
|
"version": "0.3.6",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "https://gitea.home.jbrumond.me/api/packages/doc-utils/npm/"
|
"registry": "https://gitea.home.jbrumond.me/api/packages/doc-utils/npm/"
|
||||||
},
|
},
|
||||||
|
@ -2,10 +2,20 @@
|
|||||||
import { marked } from 'marked';
|
import { marked } from 'marked';
|
||||||
import { MarkdownOptions } from './render';
|
import { MarkdownOptions } from './render';
|
||||||
|
|
||||||
|
export const placeholder_base_url = 'https://markdown2html.base-url.placeholder.invalid';
|
||||||
|
|
||||||
export function base_url_walk_tokens(token: marked.Token, options: MarkdownOptions) {
|
export function base_url_walk_tokens(token: marked.Token, options: MarkdownOptions) {
|
||||||
if (options.base_url) {
|
if (options.base_url) {
|
||||||
|
const base_url = options.base_url.startsWith('http://') || options.base_url.startsWith('https://')
|
||||||
|
? options.base_url
|
||||||
|
: placeholder_base_url + options.base_url;
|
||||||
|
|
||||||
if (token.type === 'link' || token.type === 'image') {
|
if (token.type === 'link' || token.type === 'image') {
|
||||||
token.href = (new URL(token.href, options.base_url)).toString();
|
token.href = (new URL(token.href, base_url)).toString();
|
||||||
|
|
||||||
|
if (token.href.startsWith(placeholder_base_url)) {
|
||||||
|
token.href = token.href.slice(placeholder_base_url.length);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user