multi-language support

master
Gregory Scheerlinck 8 years ago
parent 7dddf950a1
commit 8a80136246

@ -2,6 +2,7 @@
'use strict';
var _ = require('lodash');
var getContents = require('../lib/fileio').getContents;
var convert = require('../lib/fileio').convert;
var processMd = require('../lib/fileio').processMd;
@ -11,7 +12,7 @@ var tmpSave = require('../lib/fileio').tmpSave;
var removeTmp = require('../lib/fileio').removeTmp;
var lastUpdate = require('arch-wiki-md-repo').updated;
var articles = require('arch-wiki-md-repo').doneList;
var articles = require('arch-wiki-md-repo').db;
var spawn = require('child_process').spawn;
@ -29,6 +30,9 @@ var yargs = require('yargs')
.boolean('w')
.alias('w', 'web')
.describe('w', 'open in browser')
.default('l', 'english')
.alias('l', 'language')
.describe('l', 'choose a language (default: english)')
.help('h')
.alias('h', 'help')
.argv;
@ -37,6 +41,7 @@ var searchTerms = yargs._;
var isDeep = yargs.d;
var isApro = yargs.k;
var isWeb = yargs.w;
var lang = yargs.l;
var options = {
name: '',
@ -47,6 +52,8 @@ var options = {
manual: '',
};
articles = _.find(articles, { lang: lang }).articles;
Promise.resolve(narrowDown(articles, searchTerms, isDeep, isApro)).then(function select(filteredArticles) {
return selectArticle(filteredArticles);
}).then(function makeRoff(selectedArticle) {
@ -74,5 +81,6 @@ Promise.resolve(narrowDown(articles, searchTerms, isDeep, isApro)).then(function
});
});
}).catch(function catchAll(err) {
console.log(err);
console.log(err.message);
console.log(err.stack);
});

@ -26,7 +26,7 @@ function convert(contents, options) {
}
function getContents(article) {
article.path = getArticlePath(article.path);
article.path = getArticlePath(article.mdPath);
return fsReadFile(article.path, 'utf-8').then(function readArticle(contents) {
article.contents = contents;
article.title = sanitize(article.title);

@ -13,9 +13,7 @@ function narrowDown(articles, terms, deep, apropos) {
return new RegExp(term.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'), 'i');
});
var filtered = articles.filter(function filterOutCategoryPages(article) {
return !article.category;
});
var filtered = articles.slice();
if (apropos) {
filtered = filtered.map(function getArticleContents(art) {

@ -6,6 +6,9 @@ var archWiki = require.resolve('arch-wiki-md-repo');
exports.getArticlePath = getArticlePath;
function getArticlePath(relativeArticlePath) {
console.log(relativeArticlePath);
console.log(archWiki);
var absoluteArticlePath = path.resolve(archWiki, '..', 'wiki', relativeArticlePath);
return absoluteArticlePath;
}

@ -26,6 +26,7 @@
"bluebird": "^3.1.5",
"chalk": "^1.1.1",
"inquirer": "^0.11.4",
"lodash": "^4.3.0",
"remark": "^3.2.2",
"remark-man": "^2.0.1",
"remark-unlink": "^2.0.0",

Loading…
Cancel
Save