npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sinblog

v0.1.3

Published

An elegant blog site generator

Downloads

7

Readme

SinBlog

An elegant blog site generator

Demo and Docs 示例和文档

# Check into your blog folder
cd <YOUR_BLOG_FOLDER>

# Initialize
sinblog init

# Configuration...

# Build
sinblog build

# Publish to GitHub Pages
sinblog publish

Features

  • Simple, fast and elegant

  • Support Markdown and Latex

  • Pure static website generator, you can deploy it anywhere

  • One-command to build and publish

Still developing day and night...

Todos

  • Searching and tag filter supports
  • More themes
  • Home page and about-me page layouts
  • Upload local images in Markdown

Need some other features? You can open an issure.

Usage with Trivas CI

By using GitHUb and Trivas CI , It is quite easy to publish your blogs. Just a config file and then no worry about any program and environment stuffs.

Use SinBlog with Trival CI

Usage with command line

Installation

SinBlog is powered by Node.js. Before install, you should have the environment.

Use npm to install SinBlog:

npm install -g sinblog

Initialize

Once SinBlog is installed, check into your blog folder in command line, and run the initialize command:

cd <YOUR_BLOG_FOLDER>
sinblog init

Now your blog folder may look like:

YOUR_BLOG_FOLDER
|_technique
  |_hello-world.md
|_literature
  |_some-blog.md
|
|_sinblog.config.yml

SinBlog added a configuration file, sinblog.config.yml, to your blog folder.

Alternatively, you can create a sinblog.config.yml file by yourself, then copy and paste the configurations.

Configuration

SinBlog read configurations from file sinblog.config.yml (also support sinblog.config.json) .

Default sinblog.config.yml:

site:
  title: Sin·Blog # Site name and title
  author: BigLiao

build:
  theme: default # Only support default so far
  blogPage:
    - title: Technique
      dirPath: ./technique
      urlPath: technique
    - title: Literature
      dirPath: ./literature
      urlPath: literature
  pulicPath: /

Learn about YAML format: YAML Tutorial: Everything You Need to Get Started in Minutes

site.title

Required. Type: string

Shows at navbar and website title.

site.author

Required. Type: string

Your name, shows at footer.

build.theme

Optional. Type: string. Default: default.

Only supoort value default.

build.blogPage

Required. Type: string or array.

If you only have one folder as your blog folder, you can set build.blogPage to the relative path (relative to configuration file):

build:
  blogPage: RELATIVE_PATH_TO_BLOG_FOLDER

If you have more then one folder as different classes, you can set it an array, as the default demo.

build.blogPage[].title

Required. Type: string. Show at navbar.

build.blogPage[].dirPath

Required. Type: string. Relative path.

build.blogPage[].urlPath

Optional. Type: string. A sub URL path. If not specified, SinBlog will take the dirname.

pulicPath

Optional. Type: string. Default: /.

If your website is in a subdirectory (such as http://example.org/blog), you have to set PublicPath to /blog/.

Build

Run just one command sinblog build in <YOUR_BLOG_FOLDER>.

sinblog build

SinBlog will generate a .temp folder and a dist folder in <YOUR_BLOG_FOLDER>. You should put these into your .gitignore file. The .temp folder is useless, I will remove it later. The dist folder contains final website files.

Serve

Serve the website locally:

sinblog serve

Publish

Publish to GitHub Pages

If your blog folder is under git control, and have related to GitHub....., You can publish your blog to GitHub Pages by SinBlog.

sinblog publish

SinBlog will push the dist folder to gh-pages branch on GitHub.

For example, if your GitHub repository URL is https://github.com/USER_NAME/blog/, you can visite your blog site at https://USER_NAME.github.io/blog/.