hexojs / hexo-starter Goto Github PK
View Code? Open in Web Editor NEWHexo Starter site (use `npx hexo init myBlog`)
Hexo Starter site (use `npx hexo init myBlog`)
Since the theme is using 3 years ago code base. It's pretty buggy. Thanks.
$ hexo init blog
INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
For example
"scripts": {
"serve": "hexo server",
"build": "hexo build"
}
Then we can reuse ./node_modules/.bin/hexo
and the user do not have to install hexo-cli
globally (for existing Hexo site).
How to Solve the Global npm Module Dependency Problem
Update (2019-07-11)
npx
is included in npm
since v5.3, it will use binaries in ./node_modules/.bin
, and install command temporarily if not available in node_modules/
.
How to use npx: the npm package runner
Here are my latest commands:
# local serve
npx hexo clean && npx hexo server
# deploy
npx hexo clean && npx hexo generate && npx hexo deploy
YAMLException: can not read a block mapping entry; a multiline key may not be an implicit key at line 4, column 1:
^
at generateError (/opt/github_io/warrenwx_hexo/node_modules/js-yaml/lib/js-yaml/loader.js:165:10)
at throwError (/opt/github_io/warrenwx_hexo/node_modules/js-yaml/lib/js-yaml/loader.js:171:9)
at readBlockMapping (/opt/github_io/warrenwx_hexo/node_modules/js-yaml/lib/js-yaml/loader.js:1046:9)
at composeNode (/opt/github_io/warrenwx_hexo/node_modules/js-yaml/lib/js-yaml/loader.js:1332:12)
at readDocument (/opt/github_io/warrenwx_hexo/node_modules/js-yaml/lib/js-yaml/loader.js:1492:3)
at loadDocuments (/opt/github_io/warrenwx_hexo/node_modules/js-yaml/lib/js-yaml/loader.js:1548:5)
at Object.load (/opt/github_io/warrenwx_hexo/node_modules/js-yaml/lib/js-yaml/loader.js:1569:19)
at parseYAML (/opt/github_io/warrenwx_hexo/node_modules/hexo-front-matter/lib/front_matter.js:80:21)
at parse (/opt/github_io/warrenwx_hexo/node_modules/hexo-front-matter/lib/front_matter.js:56:12)
at Promise.all.spread (/opt/github_io/warrenwx_hexo/node_modules/hexo/lib/plugins/processor/post.js:52:20)
at tryCatcher (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/promise.js:509:35)
at Promise._settlePromise (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/promise.js:694:18)
at Promise._fulfill (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/promise.js:638:18)
at PromiseArray._resolve (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/promise_array.js:126:19)
at PromiseArray._promiseFulfilled (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/promise_array.js:144:14)
at PromiseArray._iterate (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/promise_array.js:114:31)
at PromiseArray.init [as _init] (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/promise_array.js:78:10)
at Promise._settlePromise (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/promise.js:566:21)
at Promise._settlePromise0 (/opt/github_io/warrenwx_hexo/node_modules/bluebird/js/release/promise.js:614:10)
err: Error: `NaN` is not a valid date!
Initializing a new blog and running the server results in an error because hello-world.md lacks a date.
Adding a date to source/_posts/hello-world.md resolves the issue.
hexo: 5.4.0
hexo-cli: 4.3.0
os: freebsd 12.2-RELEASE-p2
node: 14.17.6
v8: 8.4.371.23-node.76
uv: 1.41.0
zlib: 1.2.11
brotli: 1.0.9
ares: 1.17.1
modules: 83
nghttp2: 1.43.0
napi: 8
llhttp: 2.1.3
openssl: 1.1.1l
cldr: 39.0
icu: 69.1
tz: 2021a
unicode: 13.0
Too disappointed!
I clone it and I install dependencies.
Next, I try to run hexo clean
but it did not work.
Four years ago, it was a good projects that anyone could run it for writting blogs. Anyone with no foundation can run it directly.
Now, an initial project that doesn't work directly discourages beginners who want to get into Hexo.
Node version(node -v
): 8.7.0
Hexo and Plugin version(npm ls --depth 0
):
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
`-- [email protected]
Maybe when Stylus was selected as the default style sheet language it was somehow popular or something, but now SCSS is used more than plain CSS (ref).
SCSS is used by the most popular CSS Frameworks, such Bootstrap 4, Materialize, and Fundation, so used by default would allow theme developers to use the files of such frameworks to develop better themes.
I know there is a SCSS plugin, I'm using it, but if SCSS is included by default, users won't need to install any plugins.
Node version 10.16.0
NPM 6.10.2
Hexo 3.9.0
Hexo-cli v 2.0.0
I ran hexo init and got this
INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
Cloning into '/var/www/diary/html'...
remote: Enumerating objects: 77, done.
remote: Total 77 (delta 0), reused 0 (delta 0), pack-reused 77
Unpacking objects: 100% (77/77), done.
Submodule 'themes/landscape' (https://github.com/hexojs/hexo-theme-landscape.git ) registered for path 'themes/landscape'
Cloning into '/var/www/diary/html/themes/landscape'...
remote: Enumerating objects: 44, done.
remote: Counting objects: 100% (44/44), done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 954 (delta 18), reused 19 (delta 8), pack-reused 910
Receiving objects: 100% (954/954), 3.16 MiB | 5.18 MiB/s, done.
Resolving deltas: 100% (506/506), done.
Submodule path 'themes/landscape': checked out '73a23c51f8487cfcd7c6deec96ccc754 3960d350'
INFO Install dependencies
npm WARN deprecated [email protected]: core-js@<2.6.8 is no longer maintained. Pleas e, upgrade to core-js@3 or at least to actual version of core-js@2.
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fse vents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@ 1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"} )added 340 packages from 501 contributors and audited 6879 packages in 17.555s
found 1 low severity vulnerability
runnpm audit fix
to fix them, ornpm audit
for details
INFO Start blogging with Hexo!
On doing npm audit I got this
=== npm audit security report ===
┌──────────────────────────────────────────────────────────────────────────────┐
│ Manual Review │
│ Some vulnerabilities require your attention to resolve │
│ │
│ Visit https://go.npm.me/audit-guide for additional guidance │
└──────────────────────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ marked │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=0.7.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ hexo-renderer-marked │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ hexo-renderer-marked > marked │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/1076 │
└───────────────┴──────────────────────────────────────────────────────────────┘
found 1 low severity vulnerability in 6879 scanned packages
1 vulnerability requires manual review. See the full report for details.
npm audit fix doesn't work as it requires me to a manual review.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.