mirror of
https://gitee.com/butubb8/blowfish.git
synced 2025-12-05 14:17:50 +08:00
too big too describe
This commit is contained in:
@@ -4,6 +4,8 @@ const puppeteer = require("puppeteer");
|
||||
const configDir = "./exampleSite/config/_default";
|
||||
const defaultLang = "en";
|
||||
const usersFolderPath = "./exampleSite/content/users/"
|
||||
const translate = require('@iamtraction/google-translate');
|
||||
|
||||
|
||||
var targetLangs = []
|
||||
|
||||
@@ -18,9 +20,9 @@ configFiles.forEach(file => {
|
||||
});
|
||||
|
||||
const indexFiles = fs.readdirSync(usersFolderPath);
|
||||
for(var i in targetLangs){
|
||||
for (var i in targetLangs) {
|
||||
var targetFile = '_index.' + targetLangs[i] + '.md';
|
||||
if(indexFiles.indexOf(targetFile) == -1){
|
||||
if (indexFiles.indexOf(targetFile) == -1) {
|
||||
fs.copyFileSync(usersFolderPath + '_index.md', usersFolderPath + targetFile);
|
||||
}
|
||||
}
|
||||
@@ -36,9 +38,8 @@ const files = fs.readdirSync(usersFolderPath);
|
||||
|
||||
|
||||
for (file in files) {
|
||||
|
||||
let stats = fs.statSync(usersFolderPath + files[file]);
|
||||
if (files[file] != 'users.json' && files[file].indexOf("_index.") == -1){
|
||||
if (files[file] != 'users.json' && files[file].indexOf("_index.") == -1) {
|
||||
if (stats.isDirectory()) {
|
||||
if (!userDict[files[file].replaceAll("/", "-")]) {
|
||||
console.log('deleting: ', files[file]);
|
||||
@@ -51,6 +52,47 @@ for (file in files) {
|
||||
}
|
||||
}
|
||||
|
||||
var cache = {};
|
||||
|
||||
async function convert(text, from, to) {
|
||||
var options = {
|
||||
from: from,
|
||||
to: to
|
||||
};
|
||||
if(!cache[to])
|
||||
cache[to] = {};
|
||||
if(cache[to][text])
|
||||
return cache[to][text];
|
||||
var translated_text = await translate(text, options);
|
||||
cache[to][text] = translated_text.text;
|
||||
return translated_text.text;
|
||||
}
|
||||
|
||||
async function translateFrontMatterTags(block, targetLang, tags) {
|
||||
var array = block.split("\n");
|
||||
var translatedBlock = "";
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
if (array[i].indexOf(":") > -1) {
|
||||
var elements = array[i].split(":");
|
||||
var newElement = "";
|
||||
if (elements[0].indexOf("tags") != -1) {
|
||||
translatedTags = []
|
||||
for (var j in tags) {
|
||||
var tempTag = await convert(tags[j], defaultLang, targetLang);
|
||||
translatedTags.push(tempTag);
|
||||
}
|
||||
var trasnlatedTagsString = translatedTags.join(", ");
|
||||
newElement = elements[0] + ": [" + trasnlatedTagsString + "]";
|
||||
} else {
|
||||
newElement = array[i];
|
||||
}
|
||||
} else {
|
||||
newElement = array[i];
|
||||
}
|
||||
translatedBlock += newElement + "\n";
|
||||
}
|
||||
return translatedBlock;
|
||||
}
|
||||
|
||||
puppeteer
|
||||
.launch({
|
||||
@@ -83,15 +125,18 @@ puppeteer
|
||||
|
||||
if (!fs.existsSync(dir)) {
|
||||
fs.mkdirSync(dir);
|
||||
console.log(i, users[i].title);
|
||||
fs.writeFileSync(dir + '/index.md', userMDFile);
|
||||
for (var j in targetLangs) {
|
||||
var content = await translateFrontMatterTags(userMDFile, targetLangs[j], users[i].tags);
|
||||
fs.writeFileSync(dir + '/index.' + targetLangs[j] + '.md', content);
|
||||
}
|
||||
await page.goto(users[i].url);
|
||||
await page.screenshot({ path: dir + "/feature.jpg" });
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
console.log(i, users[i].title);
|
||||
fs.writeFileSync(dir + '/index.md', userMDFile);
|
||||
for (var j in targetLangs) {
|
||||
fs.writeFileSync(dir + '/index.' + targetLangs[j] + '.md', userMDFile);
|
||||
}
|
||||
await page.goto(users[i].url);
|
||||
await page.screenshot({ path: dir + "/feature.jpg" });
|
||||
}
|
||||
|
||||
await browser.close();
|
||||
|
||||
Reference in New Issue
Block a user