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 install
O módulo de teste Node.js interno e o módulo de asserções é usado para teste.
Para executar os testes:
npm test
Durante o desenvolvimento, é recomendável executar os testes automaticamente na alteração do arquivo:
npm test -- --watch
O JSDOC é usado para documentar o código.
Para gerar os documentos como HTML para o diretório docs
(IGENADORADO DE GIT):
npm run docs
A 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.