无需服务器端托管,无服务器云功能或数据库。 Suri静态站点可以在几分钟内部署到Vercel,Netlify等(通常是免费的)。
苏里不在乎“技术上优越”的3xx
服务器重定向。苏里只希望您最终使用您每年花费59美元的域名,并从网络的咬合和tinyurls中取回您的短链接。
https://surishort.link/gh⇒https://github.com/surishortlink/suri
https://surishort.link是一个示例网站,展示了Suri在行动中。您可以查看网站的存储库以及管理链接以查看其工作原理的文件。
苏里(Suri)拥有模板存储库,可以使起步非常容易。选择您要部署的平台并遵循逐步说明:
不部署其中一个平台?不用担心。以下是一些涵盖大多数其他方案的通用选项,无论是不同的云提供商还是自己托管:
Suri的src
是links.json
。所有模板存储库都包含此文件,其中有几个示例:
{
"/" : " https://www.youtube.com/watch?v=CsHiG-43Fzg " ,
"1" : " https://fee.org/articles/the-use-of-knowledge-in-society/ " ,
"gh" : " https://github.com/surishortlink/suri "
}
它并不简单:关键是重定向的“短链路”路径,值是目标URL。钥匙可以使用您想要的任何字符混合物,尽可能短或需要长时间。 /
是重定向根路径的特殊条目。
Suri带有一个suri
可执行文件,该文件从links.json
文件中生成静态站点。静态站点输出到名为build
的目录。
所有模板存储库均配置一个build
脚本,该脚本调用此可执行文件,使您运行的命令简单:
npm run build
当您更改links.json
文件时,只需重新运行此命令以重新生成静态站点,然后可以重新部署该站点。 Suri具有模板存储库的许多平台都配置为自动执行此操作。
通过根目录中的suri.config.json
文件来处理配置。此时只有一个选项:
选项 | 描述 | 类型 | 默认 |
---|---|---|---|
js | 是否要重定向使用JavaScript而不是<meta> 刷新。 | 布尔 | false |
最后,在构建静态站点时, public
目录中的任何文件将被复制到build
目录,而无需修改。这对于诸如favicon.ico
或robots.txt
之类的文件可能很有用(也就是说,Suri为两者提供明智的默认值)。
如果您以前在版本0.1到0.5.1上时将此存储库分配/克隆该存储库,则您现在会注意到一些版本1的差异。
版本1解决了版本0的三个主要问题:
app.json
render.yaml
。 V1通过为每个平台拥有单独的模板存储库来解决此问题,该存储库仅包括该平台的必要文件。那么,您如何升级?如果您只编辑了links.json
文件,则升级很简单:
links.json
复制。public
目录中的任何文件,请复制这些文件。SURI_JS
设置为1
,请在suri.config.json
中将js
更改为true
。如果您编辑了高度文件中的任何一个,例如links.njk
模板 - 您可能只想坚持使用V0并继续使用高度。
除此之外,V1还有其他一些值得注意的变化:
build
而不是_site
目录。suri.config.json
文件而不是环境变量来完成配置。npm run clean
以删除构建目录。 npm run build
在每个新构建之前会自动执行此操作。否则,如果发现它有用,则可以手动添加。npm run dev
以构建,观看和服务静态站点。对于Suri生成的小型HTML页面来说,这是过度的。npm run lint
,并带有漂亮的棉绒。如果发现有用,则可以手动添加它。npm run release
以发布新版本的Suri。如果要标记存储库的发布版本,则可以手动添加它。jstayton
用户转移到了所有与Suri相关的存储库的新的surishortlink
组织。 唯一的先决条件是node.js的兼容版本(请参阅package.json
中的engines.node
。
使用NPM安装依赖项:
npm install
内置Node.js测试跑者和断言模块用于测试。
进行测试:
npm test
在开发过程中,建议在文件更改时自动运行测试:
npm test -- --watch
JSDOC用于记录代码。
将文档作为HTML生成(git-dignored) docs
目录:
npm run docs
Prettier的设置是为执行一致的代码样式。强烈建议将集成在您的编辑器中添加,以自动在保存上格式化。
ESLINT具有“推荐”规则,以实施一定级别的代码质量。还强烈建议在您的编辑器中添加集成,以自动在保存上格式化。
通过命令行运行:
npm run lint
当development
分支准备好发布时,请发布!用于协调发布过程:
npm run release
发布过程完成后,将development
分支合并到main
分支中,该分支应始终反映最新版本。