mirror of
https://gitlab.com/octtspacc/sitoctt
synced 2025-06-05 22:09:20 +02:00
Aggiunto Spagnolo, riconversione post Listed da HTML a Markdown
This commit is contained in:
18
Scripts/Lib/Html2Markdown.js
Normal file
18
Scripts/Lib/Html2Markdown.js
Normal file
@ -0,0 +1,18 @@
|
||||
const Exp = {};
|
||||
|
||||
const TurndownService = require('turndown');
|
||||
const turndownService = (new TurndownService({
|
||||
headingStyle: "atx",
|
||||
hr: "---",
|
||||
bulletListMarker: "*",
|
||||
codeBlockStyle: "fenced",
|
||||
fence: "```",
|
||||
emDelimiter: "_",
|
||||
strongDelimiter: "**",
|
||||
linkStyle: "inlined",
|
||||
}));
|
||||
turndownService.keep(['span', 'small', 'sup', 'sub', 'table', 'dl', 'iframe', 'video', 'audio']);
|
||||
|
||||
Exp.Transform = (html) => turndownService.turndown(html);
|
||||
|
||||
module.exports = Exp;
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env -S node --experimental-fetch
|
||||
require('./Lib/Syncers.js').importAll();
|
||||
const JSDOM = require('jsdom').JSDOM;
|
||||
// TODO: turndown HTML to Markdown
|
||||
const Html2Markdown = require('./Lib/Html2Markdown.js').Transform;
|
||||
|
||||
const BlogURL = 'https://listed.to/@u8'; // Full base URL of the Listed blog (any server)
|
||||
const SiteName = 'sitoctt';
|
||||
@ -18,12 +18,16 @@ const FrontmatterNew = {
|
||||
};
|
||||
let Replacements = { // Format: { ReplaceWithString: [ToFindString] }
|
||||
"<h2>{{% i18n notes-refs %}}</h2>": "<h2>🏷️ Note e Riferimenti</h2>",
|
||||
'<div class="footnotes">': ['<div class="footnotes"><hr>', '<div class="footnotes">\n<hr>'],
|
||||
'"><a class="footnote-ref" href="#fn': '"><a href="#fn',
|
||||
" href=\"{{< assetsRoot >}}/": " href=\"https://sitoctt-assets.octt.eu.org/",
|
||||
" src=\"{{< assetsRoot >}}/": " src=\"https://sitoctt-assets.octt.eu.org/",
|
||||
//'<div class="footnotes">': ['<div class="footnotes"><hr>', '<div class="footnotes">\n<hr>'],
|
||||
//'"><a class="footnote-ref" href="#fn': '"><a href="#fn',
|
||||
'<div class="footnotes"><span class="footnotes"><hr></span>': '<div class="footnotes"><hr>',
|
||||
' href="{{< assetsRoot >}}/': ' href="https://sitoctt-assets.octt.eu.org/',
|
||||
' src="{{< assetsRoot >}}/': ' src="https://sitoctt-assets.octt.eu.org/',
|
||||
// TODO: Fix anchor rels
|
||||
};
|
||||
let LateReplacements = {
|
||||
"{{< assetsRoot >}}": "{{< assetsRoot >}}",
|
||||
};
|
||||
const TestURL = 'https://listed.to/p/hDaMhJ2ts7';
|
||||
|
||||
const MetadataBlockSelect = '.MetadataBlock, .MetadataBlock + :Where(Div, Pre, Code)';
|
||||
@ -227,6 +231,16 @@ const HandlePost = (PostSrc, Output) => {
|
||||
});
|
||||
|
||||
Post.Content = GetFragHTML(ContentDom);
|
||||
Post.Content = Html2Markdown(Post.Content);
|
||||
Object.keys(LateReplacements).forEach((To) => {
|
||||
let FromList = LateReplacements[To];
|
||||
if (typeof(FromList) != 'object') {
|
||||
FromList = [FromList];
|
||||
};
|
||||
FromList.forEach((From) => {
|
||||
Post.Content = Post.Content.replaceAll(From, To);
|
||||
});
|
||||
});
|
||||
|
||||
if (Output == 'file') {
|
||||
TryMkdirSync(PathDir);
|
||||
|
@ -9,6 +9,6 @@ sh "${swd}/Build.sh"
|
||||
|
||||
cd ./build/public
|
||||
#zip -9 -r ./offline.zip *
|
||||
7z a -tzip -mcp=437 -mx9 ./offline.zip *
|
||||
7z a -tzip -mcp=437 -mx9 ./sitoctt-offline.zip *
|
||||
|
||||
cd "${owd}"
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
DestinationLanguages = ["it", "en", "fr"] # "de", "eo", "es"
|
||||
DestinationLanguages = ["it", "en", "es", "fr"] # "de", "eo"
|
||||
IncludePaths = ["/"]
|
||||
ExcludePaths = ["/categories"] # "/miscellanea"
|
||||
|
||||
|
Reference in New Issue
Block a user