无需服务器端托管,无服务器云功能或数据库。 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 -- --watchJSDOC用于记录代码。
将文档作为HTML生成(git-dignored) docs目录:
npm run docsPrettier的设置是为执行一致的代码样式。强烈建议将集成在您的编辑器中添加,以自动在保存上格式化。
ESLINT具有“推荐”规则,以实施一定级别的代码质量。还强烈建议在您的编辑器中添加集成,以自动在保存上格式化。
通过命令行运行:
npm run lint当development分支准备好发布时,请发布!用于协调发布过程:
npm run release发布过程完成后,将development分支合并到main分支中,该分支应始终反映最新版本。