ringfairy
?이것은 Rust로 작성된 웹링 생성기입니다. 이는 정적 사이트 생성기와 유사하지만 웹링에 특화되어 있습니다.
방문자를 리디렉션하기 위해 일종의 서버 측 코드(예: PHP, JS)를 사용하는 대부분의 웹링과 달리 이 접근 방식은 HTML 리디렉션을 사용합니다.
정적 접근 방식을 사용하면 서버 측 처리가 필요하지 않으므로 호스팅 요구 사항이 더 간단해집니다(Neocities, GitHub 페이지 등에서 호스팅 가능).
웨브링을 업데이트하려면 전체를 재생성해야 합니다. 이는 빠르고 간단하며 자주 수행할 필요가 없습니다. 그러나 GitHub Actions 등을 통해 자동화하지 않는 한 기존 서버 측 시스템에는 없는 추가 단계입니다.
웨브링은 루프로 서로 연결된 웹사이트 모음입니다. 각 웹사이트에는 링의 이전 웹사이트와 다음 웹사이트에 대한 링크가 포함되어 있습니다. 충분히 멀리 탐색하면 결국 시작한 곳으로 돌아오게 됩니다!
웹링은 인터넷 초기에 웹사이트 소유자가 서로의 콘텐츠를 홍보하고 커뮤니티 참여를 장려하는 방법으로 인기가 있었습니다.
이것은 일종의 개인 웹사이트나 블로그를 갖고 있고 다른 사람들과 연결되기를 원하는 모든 사람을 위한 도구입니다. 이를 사용하여 처음부터 자신의 온라인 커뮤니티를 성장시킬 수 있습니다!
고도로 최적화됨
사이트의 웹링 링크 자동 감지
템플릿을 통해 완전히 사용자 정의 가능
RSS 피드가 있는 모든 사이트로 OPML 파일을 생성합니다.
명령줄 인터페이스 또는 구성 파일 선택
원격 구성 파일도 지원
셔플 옵션
HTML 축소
자동 링크 웹사이트 소유자 연락처 정보
중복된 항목을 포착합니다.
자세한 로깅
ringfairy
사용하는 웹링(내가 아는 한):
Ghostring - 공포 테마 사이트
Craftering - 시스템 크래프터 커뮤니티용
로보링 - 로봇 존재를 위한
이 도구를 사용하여 자신만의 웹링을 시작하기로 결정한 경우 저에게 알려주시면 여기에 나열하겠습니다! :)
릴리스 바이너리를 다운로드하거나 저장소를 복제하고 소스에서 빌드하세요.
웹링에 포함하려는 웹사이트의 세부 정보를 포함하도록 websites.json
(기본값) 파일을 수정합니다. 각 웹사이트를 목록에 추가해야 합니다.
필요에 따라 config.json
(기본값) 파일을 수정합니다.
(선택 사항) 기본적으로 data/templates
폴더에 있는 템플릿을 수정하여 페이지를 사용자 정의합니다. 원격 파일을 템플릿으로 사용할 수도 있습니다. 아래의 "템플릿" 섹션을 참조하세요.
(선택 사항) 기본적으로 data/assets
폴더에 추가 파일을 추가합니다. 이 폴더의 모든 내용은 출력 디렉터리에 복사됩니다. 여기에서 이미지, HTML/CSS 등과 같은 추가 항목을 추가할 수 있습니다.
리디렉션이 포함된 HTML 파일을 작성하여 ringfairy
실행하여 웹링을 생성합니다. 각 사이트는 websites.json
파일의 다음/이전 사이트로 연결되어 웹링을 형성합니다!
선호하는 호스팅 플랫폼에서 생성된 파일을 호스팅하세요.
명령줄 인수는 구성 파일의 모든 설정보다 우선합니다.
-h
, --help
: 도움말 인쇄
-c
, --config
: 선택적 구성 파일의 위치를 지정합니다. 원격일 수도 있습니다. 예를 들어 Pastebin, GitHub 등의 적절한 JSON 파일에 대한 HTTP 링크입니다.
-l
, --list
: 웹사이트 목록이 포함된 파일을 지정합니다. 기본값: ./websites.json
-o
, --output
: 생성된 파일이 저장될 출력 폴더를 정의합니다. 기본값: ./webring
-a
, --assets
: 자산 폴더를 지정합니다. 여기에 있는 모든 파일은 출력 폴더에 복사됩니다. 이를 통해 이미지나 추가 웹 페이지 등 원하는 추가 파일을 포함할 수 있습니다. 기본값: ./data/assets
-t
, --templates
: 템플릿 폴더의 경로를 지정합니다. 리디렉션 페이지(즉, 웹링을 구성하는 HTML)에는 template.html
사용하십시오. 생성된 콘텐츠로 페이지를 채우려는 경우 추가 페이지를 여기에 추가할 수 있습니다. 기본값: ./data/templates
-u
, --url
: 웹링의 기본 URL입니다. 'https://example.com'과 같은 것입니다.
-n
, --name
: 웨브링의 이름입니다. '유령'과 같은 것.
-d
, --description
: 웹링에 대한 간단한 설명입니다.
-m
, --maintainer
: 웹링의 소유자/유지관리자는 사람이나 조직일 수 있습니다.
-w
, --website
: 웹링의 기본 URL이 아닌 웹사이트 소유자의 웹사이트 링크입니다.
--skip-minification
: 페이지를 최적화하거나 수정하지 않고 출력합니다. 생성된 파일을 나중에 직접 편집할 수 있도록 하거나 출력에 예상치 못한 문제가 발생하는 경우 이 방법을 시도해 보십시오.
--skip-verification
: 잠재적인 문제를 확인하지 않고 파일을 생성합니다...현명하지 않습니다!
--dry-run
: 파일을 출력하지 않고 애플리케이션을 실행합니다.
-s
, --shuffle
: 생성 중에 웹사이트 순서를 무작위로 섞습니다. 이는 전적으로 내부적이며 웹사이트의 입력 목록에 영향을 주지 않습니다. 원래 순서를 잃지 않고 동일한 웹링을 반복적으로 섞을 수 있습니다.
-v
, --verbose
: 콘솔에 정보를 출력합니다. -vv
더 많은 정보를 보려면 매우 자세한 모드를 사용하세요.
-V
, --version
: 인쇄 버전
-A
, --audit
: 감사 모드. 목록의 각 웹사이트를 스크랩하여 다음/이전 링크를 찾을 수 있는지 확인합니다. 그렇지 않으면 해당 빌드에 대한 웹링에 사이트가 추가되지 않습니다. 즉, 비준수 웹사이트를 즉시 제거할 필요는 없습니다. 링크를 찾을 수 있을 때까지는 사이트가 표시되지 않습니다. 상세 모드( -v
) 없이 이를 사용하면 감사 결과가 표시되지 않을 수 있습니다. 웹링을 오프라인으로 구축하거나 가능한 가장 빠른 구축 속도를 원하는 경우 감사 모드를 사용하지 마십시오.
-M
, --audit_retries_max
: 감사 모드에서 사이트에 다시 연결을 시도하는 최대 횟수입니다. 기본값: 2
-D
, --audit_retries_delay
: 감사 모드에서 응답하지 않는 사이트에 다시 연결을 시도하기 전에 밀리초의 지연이 발생합니다. 기본값: 100
-U
, --client_user_agent
: 감사 모드에서 웹 스크레이퍼가 사용할 사용자 에이전트 문자열입니다.
-H
, --client_header
: 감사 모드에서 웹 스크레이퍼가 사용할 헤더 문자열입니다.
기본적으로 애플리케이션은 오류 메시지만 기록합니다. -v
/ --verbose
(명령줄에서)를 전달하거나 "verbose": true
(구성 JSON에서)를 설정하면 애플리케이션에 경고 수준 로그를 표시하도록 지시할 수 있습니다. 정보 수준 로그를 표시하려면 -vv
전달하세요. 디버그의 경우 -vvv
.
이러한 로그를 파일에 저장하려면 애플리케이션을 실행할 때 표준 출력 및 표준 오류를 파일로 리디렉션할 수 있습니다. 예를 들어:
$ ./ringfairy > log.txt 2>&1
템플릿은 기본적으로 ./data/templates
폴더에 있습니다. 이 경로는 명령줄 인수 --templates
또는 구성 파일의 path_templates
사용하여 지정할 수 있습니다.
템플릿에는 생성된 콘텐츠로 대체되는 태그가 포함되어 있습니다. 태그 앞/뒤에 콘텐츠를 추가하여 생성된 파일을 사용자 정의할 수 있습니다. 저장소에는 시작하는 데 도움이 되는 기본 템플릿 예제가 포함되어 있습니다.
템플릿 폴더에서 template.html
각 웹사이트에 대한 리디렉션을 포함하는 next.html
previous.html
페이지 각각을 생성하는 데 사용됩니다. 태그 {{ url }}
각 페이지의 생성기에 의해 삽입되며, 이는 웹링을 구동합니다.
template.html
외에도 템플릿 폴더에는 원하는 다른 템플릿이 포함될 수 있습니다.
예를 들어, 웹링에 모든 사이트를 나열하는 중앙 허브 페이지가 있는 것이 좋습니다. 이것을 index.html
에 넣거나 list.html
, table.html
등과 같은 전용 페이지를 만들 수 있습니다. 템플릿에서 {{ table_of_sites }}
태그를 사용하기만 하면 ringfairy
다음에서 형식화된 사이트 목록을 생성합니다. 웹링.
현재 템플릿에서 사용할 수 있는 태그는 다음과 같습니다.
{{ table_of_sites }}
웹링의 모든 사이트에 대한 정보를 나열하는 형식화된 HTML 테이블을 생성합니다.
{{ number_of_sites }}
웹링의 현재 크기를 보여줍니다.
{{ current_time }}
페이지가 마지막으로 업데이트된 시간을 표시하는 생성 시간을 표시합니다.
{{ opml }}
링 OPML 파일의 상대 경로를 삽입합니다.
{{ base_url }}
사용자가 설정한 대로 웹링의 기본 URL을 인쇄합니다.
{{ ring_name }}
웨브링의 제목을 표시합니다.
{{ ring_description }}
설정에 따른 웨브링의 설명을 보여줍니다.
{{ ring_owner }}
웨브링의 소유자 이름을 나타냅니다.
{{ ring_owner_site }}
웹링 소유자 사이트의 URL을 인쇄합니다.
{{ featured_site_name }}
"추천 사이트"의 이름을 무작위로 인쇄합니다.
{{ featured_site_description }}
무작위 추천 사이트에 대한 설명을 인쇄합니다.
{{ featured_site_url }}
무작위 추천 사이트의 URL을 인쇄합니다.
현재 {{ url }}
다음/이전 링크에 대해 template.html
에서만 작동하는 특수 태그입니다.
__ .-' | / <| / ' |_.- o-o / C -._) / ', | | `-,_,__,' (,,)====[_]=| '. ____/ | -|-|_ |____)_)
기여를 환영합니다! 개선 사항이나 새로운 기능에 대한 제안 사항이 있으면 언제든지 이슈를 공개하거나 풀 요청을 제출해 주세요.