서버 측 호스팅, 서버리스 클라우드 기능 또는 데이터베이스가 필요하지 않습니다. Suri 정적 사이트는 몇 분 안에 Vercel, Netlify 등 (보통 무료)에 배치 할 수 있습니다.
Suri는 "기술적으로 우수한" 3xx
서버 리디렉션에 관심이 없습니다. Suri는 마침내 당신이 마침내 59 달러를 소비하는 도메인을 사용하고 웹의 비트와 작은 링크에서 짧은 링크를 다시 가져 오기를 원합니다.
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는 links.json
에서 정적 사이트를 생성하는 suri
실행 파일을 제공합니다. 정적 사이트는 build
라는 디렉토리로 출력됩니다.
모든 템플릿 리포지토리는이 실행 파일을 호출하는 build
스크립트로 구성되어 실행 된 명령을 간단하게 만듭니다.
npm run build
links.json
파일을 변경하면이 명령을 다시 실행하여 정적 사이트를 다시 생성 한 다음 재개 할 수 있습니다. Suri에 템플릿 리포지토리가있는 많은 플랫폼은이를 자동으로 수행하도록 구성됩니다.
구성은 루트 디렉토리의 suri.config.json
파일을 통해 처리됩니다. 이 시점에는 하나의 옵션 만 있습니다.
옵션 | 설명 | 유형 | 기본 |
---|---|---|---|
js | <meta> 새로 고침 대신 JavaScript로 리디렉션할지 여부. | 부울 | false |
마지막으로, public
디렉토리의 모든 파일은 정적 사이트를 구축 할 때 수정없이 build
디렉토리로 복사됩니다. 이것은 favicon.ico
또는 robots.txt
와 같은 파일에 유용 할 수 있습니다 (Suri는 두 가지 모두에 대해 합리적인 기본값을 제공합니다).
버전 0.1 ~ 0.5.1에있을 때 이전 에이 저장소를 포크/클로닝 한 경우 버전 1과 몇 가지 차이점이 있습니다.
버전 1은 버전 0의 세 가지 주요 문제를 해결합니다.
render.yaml
및 Heroku 용 app.json
여전히 렌더링했습니다. V1은 각 플랫폼에 대해 별도의 템플릿 리포지토리를 사용하여 해당 플랫폼에 필요한 파일 만 포함하여이를 수정합니다. 그렇다면 어떻게 업그레이드합니까? links.json
파일 만 편집 한 경우 업그레이드는 간단합니다.
links.json
파일을 복사하십시오.public
디렉토리의 파일을 변경 한 경우 해당 파일을 복사하십시오.SURI_JS
1
으로 설정하면 suri.config.json
에서 js
true
로 변경하십시오. links.njk
템플릿과 같은 Eleventy 파일 중 하나를 편집 한 경우 V0을 고수하고 Eleventy를 계속 사용하고 싶을 것입니다.
그 이상으로 V1에는 몇 가지 다른 주목할만한 변화가 있습니다.
_site
대신 build
라는 디렉토리로 출력됩니다.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 Test Runner 및 Assertions 모듈은 테스트에 사용됩니다.
테스트를 실행하려면 :
npm test
개발 중에 파일 변경시 테스트를 자동으로 실행하는 것이 좋습니다.
npm test -- --watch
JSDOC는 코드를 문서화하는 데 사용됩니다.
(git-ignored) docs
디렉토리에 대한 html로 문서를 생성하려면 :
npm run docs
Pretier는 일관된 코드 스타일을 시행하도록 설정되었습니다. 저장시 자동으로 형식화되는 편집기에 통합을 추가하는 것이 좋습니다.
Eslint는 코드 품질 수준을 시행하기 위해 "권장"규칙이 설정되어 있습니다. 또한 저장시 자동으로 형식화되는 편집기에 통합을 추가하는 것이 좋습니다.
명령 줄을 통해 실행하려면 :
npm run lint
development
지점이 출시 될 준비가되면 해제하십시오! 릴리스 프로세스를 조정하는 데 사용됩니다.
npm run release
릴리스 프로세스가 완료되면 development
지점을 main
브랜치로 병합하여 항상 최신 릴리스를 반영해야합니다.