Sem hospedagem no servidor, funções em nuvem sem servidor ou banco de dados necessário. Os sites estáticos da Suri podem ser implantados para Vercel, Netlify e muito mais (geralmente de graça) em alguns minutos.
Suri não se preocupa com o servidor 3xx "tecnicamente superior" redireciona. Suri só quer que você finalmente use esse domínio em que gasta US $ 59/ano e retire seus links curtos dos Bitlys e Tinyurls da Web.
https://surishort.link/gh ⇒ https://github.com/surishortlink/suri
https://surishort.link é um site de exemplo que mostra Suri em ação. Você pode conferir o repositório do site e o arquivo que gerencia os links para ver como ele funciona.
Suri possui repositórios de modelos que facilitam o início. Escolha a plataforma para a qual você está implantando e siga as instruções passo a passo:
Não está implantando para uma dessas plataformas? Sem problemas. Aqui estão algumas opções genéricas que cobrem a maioria dos outros cenários, seja um provedor de nuvem diferente ou a hospedar você mesmo:
No coração de Suri está o arquivo links.json , localizado no diretório src , onde você gerencia seus links. Todos os repositórios de modelo incluem este arquivo semeado com alguns exemplos:
{
"/" : " 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 "
} Não poderia ser mais simples: a chave é o caminho do "link curto" que é redirecionado e o valor é o URL de destino. As chaves podem ser tão curtas ou que desejar, usando qualquer mistura de caracteres que você desejar. / é uma entrada especial para redirecionar o caminho raiz.
Suri é enviado com um arquivo executável suri que gera o site estático a partir do arquivo links.json . O site estático é emitido para um diretório chamado build .
Todos os repositórios de modelo são configurados com um script build que chama esse executável, tornando o comando que você executa simples:
npm run build Quando você faz uma alteração no arquivo links.json , basta executar novamente este comando para re-generar o site estático, que pode ser re-implantado. Muitas das plataformas para as quais a SURI possui repositórios de modelo estão configurados para fazer isso automaticamente.
A configuração é tratada pelo arquivo suri.config.json no diretório raiz. Existe apenas uma opção neste momento:
| Opção | Descrição | Tipo | Padrão |
|---|---|---|---|
js | Se deve redirecionar com JavaScript em vez de uma atualização <meta> . | Booleano | false |
Por fim, quaisquer arquivos no diretório public serão copiados para o diretório build sem modificação quando o site estático for construído. Isso pode ser útil para arquivos como favicon.ico ou robots.txt (dito isso, Suri fornece padrões sensíveis para ambos).
Se você anteriormente bifurcou/clonou este repositório quando ele estava na versão 0.1 a 0.5.1, notará algumas diferenças agora com a versão 1.
A versão 1 resolve três problemas principais com a versão 0:
app.json se você foi implantado na Vercel, você ainda tinha render.yaml . V1 corrige isso com repositórios de modelo separados para cada plataforma, que incluem apenas os arquivos necessários para essa plataforma. Então, como você atualiza? Se você apenas editou seu arquivo links.json , a atualização é simples:
links.json .public , copie -os.SURI_JS como 1 , altere js para true em suri.config.json . Se você editou algum dos arquivos elevadores - como o Modelo links.njk - você provavelmente só deseja seguir a V0 e continuar usando elevente.
Existem algumas outras mudanças dignas de nota em V1 além disso:
build em vez de _site .suri.config.json em vez de variáveis de ambiente.npm run clean para excluir o diretório de compilação. npm run build faz isso automaticamente antes de cada nova compilação. Caso contrário, você pode adicioná -lo de volta manualmente se achar útil.npm run dev para construir, assistir e servir o local estático durante o desenvolvimento. É um exagero para a pequena página HTML que Suri gera.npm run lint fie a fiapos com mais bonito. Você pode adicioná -lo de volta manualmente se achar útil.npm run release para lançar uma nova versão do SURI. Você pode adicioná -lo de volta manualmente se desejar marcar versões de liberação do seu repositório.jstayton no GitHub para uma nova organização surishortlink para todos os repositórios relacionados à SURI. O único pré -requisito é uma versão compatível do Node.js (consulte engines.node no package.json ).
Instale dependências com NPM:
npm installO módulo de teste Node.js interno e o módulo de asserções é usado para teste.
Para executar os testes:
npm testDurante o desenvolvimento, é recomendável executar os testes automaticamente na alteração do arquivo:
npm test -- --watchO JSDOC é usado para documentar o código.
Para gerar os documentos como HTML para o diretório docs (IGENADORADO DE GIT):
npm run docsA mais bonita é configurada para aplicar um estilo de código consistente. É altamente recomendável adicionar uma integração ao seu editor que se forma automaticamente no SAVE.
O ESLint está configurado com as regras "recomendadas" para aplicar um nível de qualidade de código. Também é altamente recomendável adicionar uma integração ao seu editor que se forma automaticamente no SAVE.
Para executar através da linha de comando:
npm run lint Quando o ramo development estiver pronto para ser lançado, libere -o! é usado para orquestrar o processo de liberação:
npm run release Quando o processo de liberação estiver concluído, mescle a filial development na filial main , que sempre deve refletir a versão mais recente.