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

@mucpsing/cli

v2.2.2

Published

个人自用脚手架

Downloads

31

Readme


title: cps-cli自用脚手架 description: 整合了很多个人常用的脚本功能,快速生成项目,Typora上传图片、 tags:

  • opensource
  • python
  • sublimetext preview: /screenshot/cps-cli/cps-cli.png gif: /screenshot/cps-cli/cps-cli.gif

简介|Introductions

因为组内的项目都是我搭建的,特意写一个脚手架,可以快速生成一些项目结构,快速添加一些常用脚本到项目中。

核心功能|Feature

graph LR;
  main(["@mucpsiny/cps-cli"])

  A(["常用项目模板下载"])
  A1["关联组织gitee|github"]
  
    B(["常用脚本下载"])
    B1["关联组织gitee|github"]
    
    C(["开启一个本地静态服务器"])
    C1(["关联路径在.cpsrc中配置"])
    
    
    D(["生成目录树"])
    D1(["类似tree指令"])
    D2(["自动复制到粘贴板"])
    D---D2;
    
    E(["图片压缩"])
    E1(["压缩png文件"])
    F["关联Typora图片上传"]
    F1["上传的图片同时进行压缩"]
    F2["支持转换格式为webp"]
    F---F2;

    main---A---A1;
    main---B---B1;
    main---C---C1;
    main---D---D1;
    main---E---E1;
    main---F---F1;
  • 一键下载仓库组织里面的项目

    • [x] 当前默认的仓库组织:https://gitee.com/cps-cli-template
    • [x] 通过配置文件修改关联自己的仓库组织
    • [ ] 添加强制拉取线上数据功能(默认每天首次获取线上,后续采用本地缓存)
  • 下载常用的脚本到当前目录

    • [ ] 关联指定仓库,下载自己的工具函数文件
  • 支持定义自己的组织仓库

    • [x] gitee
    • [ ] github
    • [ ] gitlab
    • [ ] bitbucket
  • 支持Typora上传图片

    • [ ] picgo引擎上传
    • [x] 关联到本地仓库,且自动push到远程仓库
    • [ ] 一键批量替换md文件内图片链接
  • 配置文件~/.cpsrc

安装|Install

npm i -g @mucpsing/cli

使用|Usage

$ cps -h
Usage: index [options]

Options:
  -v --version                       # 显示当前版本号
  -t, --template [tempaletName]      # 下载常用模板 .cpsrc.template
  -a, --add <script>                 # 添加常用工具函数 .cpsrc.add
  -c, --compress <imgFile> <output>  # 图片压缩(目前仅支持.png)
  -u, --upload <imgPath>             # 上传图片到gitee/github仓库, 对应配置 .cpsrc.upload
  -s, --server [port]                # 对应配置 .cpsrc.upload.server
  -tr, --tree                        # 生成当前目录的文件数
  --test [any]                       # 测试命令
  -h, --help                         # display help for command

主要功能|Feature

1、下载项目模板

通过配置文件绑定一个组织,自由下载该组织下的项目,类似与github的use template功能,以脚手架的方式呈现。通过绑定自己的项目模板组织,在创建项目时可以快速生成对应的模板,提高开发效率。

语法:cps --template <仓库名称[可选]> <本地保存路径[可选]>

# 直接在脚手架中选择
$ cps

# 通过flag
cps --template {要下载的模板名称} {本地保存名称}

#or
cps -t {要下载的模板名称} {本地保存名称}

# example:下面的nodt-ts 必须存是真实存在与指定的项目组织中
cps --template node-ts myProjectName

2、Typora 图片上传关联|Upload

配置文件: 配置.cpsrcupload.lcoal.path字段,绑定本地图片仓库路径

// ~/.cpsrc
{
  "template": {
    "org_name": "cps-cli-template",                           // 组织名称
    "org_url": "https://gitee.com/cps-cli-template",          // 组织真实地址
    "org_path": "C:\\Users\\M2-WIN10\\.cpsrc.org_info",       // 临时保存组织的信息,每日更新,或者手动触发更新
    }
}

**Typora配置:**Typora >偏好配置> 图像

  • 插入图片时: 选择"上传图片"
  • 上传服务: 选择 "自定义命令" (Custom Command)
  • 命令: cps -u 或者 cps --upload

cps@u cps@u

配置文件|Configure

~/.cpsrc

默认核心配置文件,插件自动创建。

{
  "template": {
    "org_name": "cps-cli-template",
    "org_url": "https://gitee.com/cps-cli-template",
    "org_path": "C:\\Users\\M2-WIN10\\.cpsrc.org_info",
    "org_add_time": "2022-04-05",
    "org_modify_time": "2022-05-02"
  },
  "upload": {
    "auto_push":true,
    "path": "D:/CPS/MyProject/markdown-image/image/",
    "server":{
      "enable":true, // 开启本地服务期,返回 http://127.0.0.1/xxxx/*.png 图片格式
      "port":"45462"
    }
  }
}

~/.cpsrc.org_info

仓库组织的离线数据缓存,因为gitee获取组织仓库的Api有每日请求次数限制,所以每天只拉取一次线上数据,然后缓存到本地,以json格式存储。

// 接口: https://gitee.com/api/v5/orgs/${org_name}/repos 返回的json数据结果:
{
  ...each_repo_name:{ ../ }
}

项目架构|tree

DIR:cps-cli                                                      # 
   |-- .github/                                                  # 
   |   |-- workflows/                                            # 「workflows」
   |   |   `-- publish.yaml                                      #  每次更新tag的时候触发,在npm发布新版本
   |-- bin/                                                      # 「bin」 入口文件
   |   `-- index.mjs                                             # 
   |-- dist/                                                     # 「dist」typescript 编译后的文件,目前仅导出mjs
   |-- screenshot/                                               # 「screenshot」
   |   |-- cps-cli/                                              #  项目演示图片
   |-- src/                                                      # 「src」
   |   |-- commands/                                             # 「commands」    存放独立的指令
   |   |   |-- wellcome.mts                                      #  输入cps命令后的首屏展示页
   |   |   |-- test.mts                                          #  --test         测试
   |   |   |-- version.mts                                       #  -v --version   版本信息
   |   |   |-- upload.mts                                        #  -u --upload    Typora上传
   |   |   |-- tree.mts                                          #  -tr --tree     目录树
   |   |   |-- template.mts                                      #  -t  --template 项目模板下载
   |   |   |-- server.mts                                        #  -s  --server   本地静态服务器
   |   |   `-- config.mts                                        #  .cpsrc         项目配置文件管理
   |   |-- scripts/                                              # 「scripts」  一些自用脚本汇总
   |   |   |-- python/                                           # 「python」   py脚本错放,后面增加js,node,lua等
   |   |-- utils/                                                # 「utils」    工具函数目录
   |   |   |-- shell.mts                                         # 
   |   |   |-- server.mts                                        # 
   |   |   |-- pngquant.mts                                      # 
   |   |   |-- index.mts                                         # 
   |   |   |-- gitee-download.mts                                # 
   |   |   `-- git-tools.mjs                                     # 
   |   |-- test.mts                                              # 
   |   |-- index.mts                                             # 
   |   |-- globaltype.d.mts                                      # 
   |   `-- env.mts                                               # 
   |-- tools/                                                    # 「tools」
   |   |-- pngquant/                                             # 「pngquant」   png图片压缩
   |   |-- wepb/                                                 # 「wepb」       webp转换工具
   |-- types/                                                    # 「types」
   |   `-- index.d.mts                                           # 
   |-- __test__/                                                 # 「__test__」
   |-- yarn.lock                                                 # 
   |-- yarn-error.log                                            # 
   |-- tsconfig.json                                             # 
   |-- README.md                                                 # 
   |-- package.json                                              # 
   |-- LICENSE                                                   # 
   |-- index.mjs                                                 # 
   |-- .npmrc                                                    # 
   |-- .npmignore                                                # 
   `-- .gitignore                                                # 

联系方式|Contact

  • 373704015 (qq、wechat、email)