Aggiunto Spagnolo, riconversione post Listed da HTML a Markdown

This commit is contained in:
2024-09-05 01:50:13 +02:00
parent 56de4209f1
commit 4811e9c53e
30 changed files with 1013 additions and 1250 deletions

View 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;

View File

@ -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 >}}": "{{&lt; assetsRoot &gt;}}",
};
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);

View File

@ -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}"

View File

@ -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"