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 🙏

© 2025 – Pkg Stats / Ryan Hefner

generator-zl-wiki-init

v1.0.2

Published

基于 Yeoman 的 MDwiki 初始化脚手架

Downloads

11

Readme

基于 Yeoman 的 MDwiki 初始化脚手架

yeoman 简介

Yeoman 帮助我们创建项目,提供更好的工具来使我们的项目更多样化。详细参见: Yeoman

生成器的使用

// 全局安装 Yeoman 框架
cnpm install -g yo
 
cnpm install -g generator-zl-wiki-init

// 创建一个用于开发的目录 zl-wiki-init-test

zl-wiki-init-test > yo zl-wiki-init
zl-wiki-init-test > dir //查看目录

生成的目录文件说明

参见:ex8-zt-template

生成器的开发

generator-zl-wiki-init目录结构

app
 |-- index.js   主入口文件
 |-- templates  用于构建的模板(目录和文件)
README.md		描述文件
package.json	包描述文件

package.json 说明

{
    "name": "generator-zl-wiki-init",
    "keywords": ["yeoman-generator"],
}

name 名称必须以 generator- 开头 keywords 中必须含有 yeoman-generator 关键词

index.js 说明

'use strict';
var path = require('path');
var generators = require('yeoman-generator');
// 定制控制台日志的输入样式,可以非常的个性化 
// https://github.com/chalk/chalk
var chalk = require('chalk');
// 生成创建文件夹
// https://github.com/substack/node-mkdirp
var mkdirp = require('mkdirp');

// 使用 generators.Base.extend 扩展
module.exports = generators.Base.extend({
	// 构造器
    constructor: function() {
        generators.Base.apply(this, arguments);
    },
	// 初始化
    initializing: function() {
        this.pkg = require('../package.json');
    },
	// 处理用户输入
    prompting: {

    },
	// 创建目录和文件
    writing: {
        buildEnv: function() {
			// 将 templates 中的内容复制到 当前位置
            this.fs.copy(this.templatePath('.'), this.destinationPath('.'));
        },
        assetsDirs: function() {
			// 创建 output 文件夹
            // mkdirp.sync('output');
        }
    },
	// 安装默认依赖
    install: function() {

    }
});

开发与调试

  1. 在生成器目录使用 npm link 或 cnpm link 进行挂载到全局 node_modules
  2. 使用 npm unlink 或 cnpm unlink 来去消挂载
  3. 使用 yo zl-wiki-init 来验证脚手架结果
generator-zl-wiki-init> cnpm link

generator-zl-wiki-init-test> yo zl-wiki-init

npm 发布

  1. http://www.npmjs.org 上注册用户
  2. 使用 npm adduser 添加注册用户
  3. 使用 npm login 登录
  4. 使用 npm publish . 发布当前模块

注意事项:

  • package.json 中 name 名称必须在 npmjs 中是不重复的. 否则不能发布. 可以通过访问 https://npmjs.com/package/ 来验证模块名称是否可用.
  • 如果本地使用了淘宝的 NPM, 则在发布之前需要将切换 registry. 具体命令使用: npm config set registry http://registry.npmjs.org

本地快速开发调试

 开发阶段,使用 cnpm link 将模块暴露在全局目录 node_modules 下
 只需使用其中的一种即可.
 1. npm link
    C:\Users\xxx\AppData\Roaming\npm\node_modules\generator-zl-wiki-init -> E:\sync\fis3\generator-zl-wiki-init
 2. cnpm link
    C:\Program Files\nodejs\node_modules\generator-zl-wiki-init -> E:\sync\fis3\generator-zl-wiki-init

 结束后, 使用 npm unlink 或 cnpm unlink 解除

package.json

  1. name 名称必须是以 generator- 开头, 如: generator-zl-wiki-init
  2. keywords 中必须要有 yeoman-generator 关键词. 如: "keywords": ["yeoman-generator"]

GIT 操作

git init
git remote add origin [email protected]:icode2017/generator-zl-wiki-init.git

NPM 发布时遇到的坑

因为本地采用了淘宝的 NPM,因此在 npm login 时是登录到 http://registry.npm.taobao.org/

在发布之前,应当将 npm 的 registry 临时改为 http://registry.npmjs.org

npm config set registry http://registry.npmjs.org
npm login
    Username: 输入你在npmjs.org上注册的用户名
    Password:
    Email:(this IS public):
npm publish .

如果没有 npmjs.org 上的用户, 请移步到 http://www.npmjs.org 上注册

参考: http://www.07net01.com/2016/01/1179066.html