Skip to main content

tproj 用于管理用户创建的项目模板,一个项目所需的起始文件、目录被包含在一个 zip 格式的压缩包中。

Project description

tproj

tproj 用于管理用户创建的项目模板,一个项目所需的起始文件、目录被包含在一个 zip 格式的压缩包中。

install

  • 通过源码安装
git clone https://github.com/zombie110year/tproj-py.git
cd tproj-py && python setup.py install
  • 通过 pip 安装
pip install tproj-zombie110year
  • 通过 pipx 安装

更推荐使用此方法, pipx 是一个用于安装基于 Python 的应用程序的包管理器,相比 pip 它会创建独立的虚拟环境,不会污染当前 Python 环境。

pipx install tproj-zombie110year

usage

tproj 提供名为 tproj 的可执行文件,可以:根据当前目录内容创建归档并自动重命名、 移动至数据目录中,应用模板归档创建项目,浏览已有的归档。

创建模板归档

创建归档使用 tproj create 子命令,默认将当前目录下的所有文件以及子目录中的文件递归地添加到归档中。 并且通过 stdin 询问归档名称,最终保存到 $TPROJ_HOME/template 目录下。

除此之外还提供以下参数:

  • -n/--name 直接在命令行参数中指定归档名(将会覆盖 tproj.cfg 中的设置)
  • -f/--force 覆盖同名归档(默认取消创建)

这要求在项目的根目录下存在一个名为 tproj.cfg 的文件,在这个文件中定义此模板的相关参数。 可配置的各键值对参考 tproj.cfg.

示例

tproj create -n helloworld

应用模板归档

应用指定的归档,使用 tproj apply 子命令,扫描 $TPROJ_HOME/template 目录下的模板归档,将其解压至当前工作目录。

具有特性

  • 不输入 .zip 后缀,程序会自动添加,如果输入了 .zip 后缀,那么 tproj 将会寻找名称类似于 *.zip.zip 的归档
  • 不需要输入完整的模板名,只要输入足够唯一确定一个模板的名字即可,但如果输入对应了多个模板,程序将终止

除此之外还提供以下参数:

  • -O/--out-dir 解压至指定目录,而非当前工作目录(不存在会创建)

示例

mkdir helloworld
cd helloworld
tproj apply helloworld

浏览已有模板

浏览已有模板,使用 tproj ls 子命令,将列出 $TRPOJ_HOME/template 下的归档文件(去除 .zip 后缀)

示例

tproj ls

参考资料

文件系统

tproj 的所有数据文件都保存在特定的目录中,将这个目录所在的路径称为 TPROJ_HOME, 可以修改环境变量 TPROJ_HOME 来修改此目录的路径,如果未设置此环境变量,那么将使用以下默认值:

  • 对于 Windows 系统,默认使用 %APPDATA%\tproj

  • 对于 Linux 系统,遵守 XDG 规范,默认使用 $XDG_DATA_HOME/tproj

    • 有些 Linux 没有提供 $XDG_* 变量,那么就直接使用 ~/.local/share/tproj
  • 归档文件存储在 $TPROJ_HOME/template 目录下

  • 配置文件存储为文件 $TPROJ_HOME/tproj.conf(TOOD)

tproj 包

一个 tproj 包实质上是一个用过 Deflate 算法压缩的归档文件,并且以 .zip 为后缀名。 除了用 tproj create -n ... 来创建之外,也可以使用你喜欢的任何压缩工具来打包。 项目所需的文件原样存储在归档的 "根目录" 中,并在应用时原样解压到当前工作目录或 tproj apply -d ... 指定的目录中。

tproj.yml

类型 默认值 含义
name str "" 此模板的名字
author str "" 模板的作者,name<email>
include List[str] ["**/*"] 默认包含所有文件、子目录
exclude List[str] [".git/**/*"] 被排除的文件
description str (可选)一段对该模板的描述

示例

name: "helloworld"
author: "zombie110year<zombie110year@outlook.com>"
include:
  - "README.md"
  - ".gitignore"
  - "src/**"
  - "tests/**"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tproj-zombie110year-1.0.3.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

tproj_zombie110year-1.0.3-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file tproj-zombie110year-1.0.3.tar.gz.

File metadata

  • Download URL: tproj-zombie110year-1.0.3.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.2 CPython/3.7.5 Windows/10

File hashes

Hashes for tproj-zombie110year-1.0.3.tar.gz
Algorithm Hash digest
SHA256 a583eb6aad657443b9764d3154e02bba8d128c623581421bb9c6eaf5c76fbfe1
MD5 33f8c3fb421c3a0d5c82806dfcde1114
BLAKE2b-256 32a676da398183bba984d0a27944869a0393b858ee184c95d6852bb1d8bfc876

See more details on using hashes here.

File details

Details for the file tproj_zombie110year-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: tproj_zombie110year-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0.post20191101 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.5

File hashes

Hashes for tproj_zombie110year-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 55735297b88489a753990e8a91fa5081214cc36e1e315e88e36d75e9fcfc2566
MD5 62785e75b76d2d8763a208e5347a2218
BLAKE2b-256 e9fafa3e84df74c6cf0212b88779142871b1e2b4a8d5df42701b70389eb93804

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page