tomkyle/tuplo

适用于 CLI 和/或 Typora 的可配置上传脚本

1.0.9 2023-06-12 06:19 UTC

README

License: MIT Tests passing

tuplo 是一个 CLI 上传工具。它可以与 YAML 文件进行配置。目前支持以下上传方法:

  • FTP
  • 带用户名/密码的 SFTP
  • 带 SSH 密钥的 SFTP

安装

使用 Composer

安装 tuplo 为全局命令

$ composer global require tomkyle/tuplo

请确保 Composer 的全局命令在 $PATH 中可用

# Unix, Linux, et al.
export PATH="/home/username/.config/composer/vendor/bin:${PATH}"
# MacOS
export PATH="/Users/you/.composer/vendor/bin:${PATH}"

Linux, Unix 等

获取仓库内容并安装依赖项。你可能想将它链接到你的 ~/bin 目录

$ git clone git@github.com:tomkyle/tuplo.git
$ cd tuplo

# Symlink if needed
$ ln -s "${PWD}/bin/tuplo" ~/bin/tuplo

MacOS

待完成,我正在努力

配置

上传配置可以存储在 .tuplo.yaml 文件中,位于 $HOME 目录或当前工作目录;后者优先于前者。请参阅 tuplo.dist.yaml 中的示例——这里是一个普通 FTP 上传的示例。在这个例子中,“typora”是一个上传配置的名称,它用作 CLI 参数。

typora:
	description : Just a plain FTP example
    method      : ftp
    downloadUrl : "https://test.com/typora"
    host        : 'ftp.test.com'
    port        : 21
    ssl         : false
    root        : 'path/to/typora'
    username    : 'ftp-username'
    password    : 'ftp-password'

用法

根据上述配置示例,CLI 用法如下。

$ tuplo typora <file> [file] ...

开发和测试

此仓库包含 自定义 Git 钩,用于在 git pull 后更改 composer.lock 时自动执行 composer installs。更多信息请参阅 此处。

错误和问题

欢迎任何提示和建议!在 GitHub 的 问题跟踪器 上打开一个票据。

单元测试

默认配置是 phpunit.xml.dist. 如果你喜欢,可以创建自定义的 phpunit.xml 来应用自己的设置。也请访问 phpunit.readthedocs.io · Packagist

$ composer phpunit
# ... or
$ vendor/bin/phpunit

PhpStan

默认配置是 phpstan.neon.dist. 如果你喜欢,可以创建自定义的 phpstan.neon 来应用自己的设置。也请访问 phpstan.org · GitHub · Packagist

$ composer phpstan
# ... which includes
$ vendor/bin/phpstan analyse

PhpCS

默认配置是 .php-cs-fixer.dist.php. 如果你喜欢,可以创建自定义的 .php-cs-fixer.php 来应用自己的设置。也请访问 cs.symfony.com · GitHub · Packagist

$ composer phpcs
# ... which aliases
$ vendor/bin/php-cs-fixer fix --verbose --diff --dry-run

应用所有 CS 修复

$ composer phpcs:apply
# ... which aliases 
$ vendor/bin/php-cs-fixer fix --verbose --diff