New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

hikaru-coffee

Package Overview
Dependencies
Maintainers
1
Versions
91
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hikaru-coffee - npm Package Compare versions

Comparing version 1.2.0 to 1.2.1

6

lib/hikaru.js

@@ -118,2 +118,3 @@ // Generated by CoffeeScript 2.3.1

"templates": {},
"assets": [],
"pages": [],

@@ -157,6 +158,6 @@ "posts": [],

this.renderer.register([".njk", ".j2"], null, function(data, ctx) {
var njkRender, template;
var template;
// For template you must give a render function.
template = nunjucks.compile(data["text"], njkEnv, data["srcPath"]);
njkRender = function(ctx) {
return data["content"] = function(ctx) {
return new Promise(function(resolve, reject) {

@@ -171,3 +172,2 @@ return template.render(ctx, function(err, res) {

};
return njkRender;
});

@@ -174,0 +174,0 @@ markedConfig = Object.assign({

// Generated by CoffeeScript 2.3.1
(function() {
var Router, Translator, dateStrCompare, fm, fse, getAbsPathFn, getURLFn, glob, isCurrentPathFn, moment, path, yaml;
var Router, dateStrCompare, fm, fse, getAbsPathFn, getURLFn, glob, isCurrentPathFn, moment, path, yaml;

@@ -17,4 +17,2 @@ path = require("path");

Translator = require("./translator");
({dateStrCompare, getAbsPathFn, getURLFn, isCurrentPathFn} = require("./utils"));

@@ -28,5 +26,16 @@

this.writeData = this.writeData.bind(this);
this.routeThemeAssets = this.routeThemeAssets.bind(this);
this.routeTemplates = this.routeTemplates.bind(this);
this.routeSrcs = this.routeSrcs.bind(this);
this.loadThemeAssets = this.loadThemeAssets.bind(this);
this.loadTemplates = this.loadTemplates.bind(this);
this.loadSrcs = this.loadSrcs.bind(this);
this.renderAssets = this.renderAssets.bind(this);
this.renderTemplates = this.renderTemplates.bind(this);
this.renderPosts = this.renderPosts.bind(this);
this.renderPages = this.renderPages.bind(this);
this.generateData = this.generateData.bind(this);
this.generatePosts = this.generatePosts.bind(this);
this.generatePages = this.generatePages.bind(this);
this.saveAssets = this.saveAssets.bind(this);
this.savePosts = this.savePosts.bind(this);
this.savePages = this.savePages.bind(this);
this.saveData = this.saveData.bind(this);
this.route = this.route.bind(this);

@@ -69,2 +78,3 @@ this.logger = logger;

"srcPath": srcPath,
"srcDir": srcDir,
"text": raw,

@@ -84,3 +94,3 @@ "raw": raw

routeThemeAssets() {
loadThemeAssets() {
return this.matchFiles(path.join("**", "*"), {

@@ -91,3 +101,3 @@ "nodir": true,

}).then((themeSrcs) => {
return themeSrcs.filter(function(srcPath) {
return Promise.all(themeSrcs.filter(function(srcPath) {
// Asset is in sub dir.

@@ -97,11 +107,9 @@ return path.dirname(srcPath) !== ".";

return this.readData(this.site["themeSrcDir"], srcPath).then((data) => {
return this.renderer.render(data, null);
}).then((data) => {
return this.writeData(this.site["themeSrcDir"], data);
return this.site["assets"].push(data);
});
});
}));
});
}
routeTemplates() {
loadTemplates() {
return this.matchFiles("*", {

@@ -114,3 +122,4 @@ "nodir": true,

return this.readData(this.site["themeSrcDir"], srcPath).then((data) => {
return this.site["templates"][path.basename(srcPath, path.extname(srcPath))] = this.renderer.render(data, null);
data["key"] = path.basename(srcPath, path.extname(srcPath));
return this.site["templates"][data["key"]] = data;
});

@@ -121,3 +130,3 @@ }));

routeSrcs() {
loadSrcs() {
return this.matchFiles(path.join("**", "*"), {

@@ -128,129 +137,182 @@ "nodir": true,

}).then((srcs) => {
var j, len, renderedPromises, srcPath;
renderedPromises = [];
for (j = 0, len = srcs.length; j < len; j++) {
srcPath = srcs[j];
((srcPath) => {
return renderedPromises.push(this.readData(this.site["srcDir"], srcPath).then((data) => {
var parsed;
if (typeof data["raw"] === "string") {
parsed = fm(data["raw"]);
data["text"] = parsed["body"];
data = Object.assign(data, parsed["attributes"]);
if (data["text"] !== data["raw"]) {
if (data["title"] != null) {
data["title"] = data["title"].toString();
return Promise.all(srcs.map((srcPath) => {
return this.readData(this.site["srcDir"], srcPath).then((data) => {
var parsed;
if (typeof data["raw"] === "string") {
parsed = fm(data["raw"]);
data["text"] = parsed["body"];
data = Object.assign(data, parsed["attributes"]);
if (data["text"] !== data["raw"]) {
if (data["title"] != null) {
data["title"] = data["title"].toString();
}
if (data["layout"] === "post") {
return this.site["posts"].push(data);
} else {
// Need load templates first.
if (!(data["layout"] in this.site["templates"])) {
data["layout"] = "page";
}
return this.renderer.render(data, null);
return this.site["pages"].push(data);
}
} else {
return this.site["assets"].push(data);
}
this.renderer.render(data, null).then((data) => {
return this.writeData(this.site["srcDir"], data);
});
return null;
}));
})(srcPath);
}
});
}));
});
}
renderAssets() {
return Promise.all(this.site["assets"].map((asset) => {
return this.renderer.render(asset);
}));
}
renderTemplates() {
return Promise.all(Object.values(this.site["templates"]).map((template) => {
return this.renderer.render(template);
}));
}
renderPosts() {
return Promise.all(this.site["posts"].map((post) => {
return this.renderer.render(post);
}));
}
renderPages() {
return Promise.all(this.site["pages"].map((page) => {
return this.renderer.render(page);
}));
}
generateData(p) {
var err, lang, language;
lang = p["language"] || this.site["siteConfig"]["language"];
if (!(lang in this.translator.list())) {
try {
language = yaml.safeLoad(fse.readFileSync(path.join(this.site["themeDir"], "languages", `${lang}.yml`)));
this.translator.register(lang, language);
} catch (error) {
err = error;
null;
}
return Promise.all(renderedPromises);
}
p = this.generator.generate(p, this.site["posts"], {
"site": this.site,
"siteConfig": this.site["siteConfig"],
"themeConfig": this.site["themeConfig"],
"moment": moment,
"getURL": getURLFn(this.site["siteConfig"]["baseURL"], this.site["siteConfig"]["rootDir"]),
"getAbsPath": getAbsPathFn(this.site["siteConfig"]["rootDir"]),
"isCurrentPath": isCurrentPathFn(this.site["siteConfig"]["rootDir"], p["docPath"]),
"__": this.translator.getTranslateFn(lang)
});
if (!(p instanceof Array)) {
return [p];
}
return p;
}
generateAll(ps) {
var err, generated, j, lang, language, len, p;
generatePosts() {
var generated, i, j, k, len, p, ref, ref1, results;
this.site["posts"].sort(dateStrCompare);
generated = [];
for (j = 0, len = ps.length; j < len; j++) {
p = ps[j];
lang = p["language"] || this.site["siteConfig"]["language"];
if (!(lang in this.translator.list())) {
try {
language = yaml.safeLoad(fse.readFileSync(path.join(this.site["themeDir"], "languages", `${lang}.yml`)));
this.translator.register(lang, language);
} catch (error) {
err = error;
null;
}
ref = this.site["posts"];
for (j = 0, len = ref.length; j < len; j++) {
p = ref[j];
p = this.generateData(p);
generated.concat(p);
}
this.site["posts"] = generated;
results = [];
for (i = k = 0, ref1 = this.site["posts"].length; (0 <= ref1 ? k < ref1 : k > ref1); i = 0 <= ref1 ? ++k : --k) {
if (i > 0) {
this.site["posts"][i]["next"] = this.site["posts"][i - 1];
}
p = this.generator.generate(p, this.site["posts"], {
"site": this.site,
"siteConfig": this.site["siteConfig"],
"themeConfig": this.site["themeConfig"],
"moment": moment,
"getURL": getURLFn(this.site["siteConfig"]["baseURL"], this.site["siteConfig"]["rootDir"]),
"getAbsPath": getAbsPathFn(this.site["siteConfig"]["rootDir"]),
"isCurrentPath": isCurrentPathFn(this.site["siteConfig"]["rootDir"], p["docPath"]),
"__": this.translator.getTranslateFn(lang)
});
if (!(p instanceof Array)) {
generated.push(p);
if (i < this.site["posts"].length - 1) {
results.push(this.site["posts"][i]["prev"] = this.site["posts"][i + 1]);
} else {
generated = generated.concat(p);
results.push(void 0);
}
}
return generated;
return results;
}
generatePages() {
var generated, j, len, p, ref;
generated = [];
ref = this.site["pages"];
for (j = 0, len = ref.length; j < len; j++) {
p = ref[j];
p = this.generateData(p);
generated.concat(p);
}
return this.site["pages"] = generated;
}
saveAssets() {
return this.site["assets"].map((asset) => {
this.writeData(asset["srcDir"], asset);
return asset;
});
}
savePosts() {
return this.site["posts"].map((post) => {
this.site["templates"][post["layout"]]["content"](post).then((content) => {
post["content"] = content;
return this.writeData(this.site["srcDir"], post);
});
return post;
});
}
savePages() {
return this.site["pages"].map((page) => {
this.site["templates"][page["layout"]]["content"](page).then((content) => {
page["content"] = content;
return this.writeData(this.site["srcDir"], page);
});
return page;
});
}
saveData() {
return this.site["data"].map((data) => {
this.writeData(null, data);
return data;
});
}
route() {
this.routeThemeAssets();
return this.routeTemplates().then(() => {
return this.routeSrcs();
}).then(async(renderedPages) => {
var data, fn, i, j, k, l, len, len1, len2, len3, len4, len5, m, n, o, p, page, post, q, ref, ref1, ref2, ref3, ref4, ref5, results;
for (j = 0, len = renderedPages.length; j < len; j++) {
p = renderedPages[j];
if (p == null) {
continue;
}
if (p["layout"] === "post") {
this.site["posts"].push(p);
} else {
if (!(p["layout"] in this.site["templates"])) {
p["layout"] = "page";
}
this.site["pages"].push(p);
}
}
// Posts.
this.site["posts"].sort(dateStrCompare);
return Promise.all([
this.loadThemeAssets(),
this.loadTemplates().then(() => {
return this.loadSrcs();
})
]).then(() => {
this.renderAssets().then(() => {
return this.saveAssets();
});
return Promise.all([this.renderTemplates(), this.renderPosts(), this.renderPages()]);
}).then(() => {
var fn, j, k, len, len1, ref, ref1;
ref = this.store["beforeGenerating"];
// Custum route.
for (k = 0, len1 = ref.length; k < len1; k++) {
fn = ref[k];
for (j = 0, len = ref.length; j < len; j++) {
fn = ref[j];
this.site = fn(this.site);
}
this.site["posts"] = this.generateAll(this.site["posts"]);
for (i = l = 0, ref1 = this.site["posts"].length; (0 <= ref1 ? l < ref1 : l > ref1); i = 0 <= ref1 ? ++l : --l) {
if (i > 0) {
this.site["posts"][i]["next"] = this.site["posts"][i - 1];
}
if (i < this.site["posts"].length - 1) {
this.site["posts"][i]["prev"] = this.site["posts"][i + 1];
}
}
// Pages.
this.site["pages"] = this.generateAll(this.site["pages"]);
ref2 = this.store["afterGenerating"];
for (m = 0, len2 = ref2.length; m < len2; m++) {
fn = ref2[m];
this.generatePosts();
this.generatePages();
ref1 = this.store["afterGenerating"];
for (k = 0, len1 = ref1.length; k < len1; k++) {
fn = ref1[k];
this.site = fn(this.site);
}
ref3 = this.site["pages"];
for (n = 0, len3 = ref3.length; n < len3; n++) {
page = ref3[n];
page["content"] = (await this.site["templates"][page["layout"]](page));
this.writeData(this.site["srcDir"], page);
}
ref4 = this.site["posts"];
// Merge post and template last.
for (o = 0, len4 = ref4.length; o < len4; o++) {
post = ref4[o];
post["content"] = (await this.site["templates"][post["layout"]](post));
this.writeData(this.site["srcDir"], post);
}
ref5 = this.site["data"];
results = [];
for (q = 0, len5 = ref5.length; q < len5; q++) {
data = ref5[q];
results.push(this.writeData(this.site["srcDir"], data));
}
return results;
this.savePosts();
this.savePages();
return this.saveData();
});

@@ -257,0 +319,0 @@ }

{
"name": "hikaru-coffee",
"version": "1.2.0",
"version": "1.2.1",
"description": "A static site generator that generates routes based on directories naturally.",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc