HTML여신
1999년과 같은 웹사이트를 만들기 위한 미니멀리스트 프레임워크입니다.
요구사항
- 인터넷, 텍스트 편집기, 웹 브라우저가 있는 컴퓨터
- npm
시작하기
- 터미널 열기
-
npm install -g @htmlgoddess/cli
그러면 명령줄 유틸리티가 설치됩니다. -
htmlgoddess create path/to/your/new/site
- 프롬프트를 따르면 곧 시작되어 실행될 것입니다.
할 일
- 리팩터링: 테스트를 분리합니다.
- 추가: "호스트" 명령.
- 추가: 생성 후 사용자가 테마를 변경할 수 있도록 하는 스타일 선택 명령입니다.
- 특기: 맞춤법 검사기.
- feat: 커밋할 때 트리거되는 자동 커미티즌 후크입니다.
- feat: 교정 명령.
- feat: "도메인" 명령.
- 특기: 다운로드 가능한 실행 파일.
- 리팩터링: 호스팅을 위한 yaml 구성의 CNAME을 교체합니다.
- 작업: 적용 범위
- "문서"를 구성 가능한 변수로 변환
- 작업: 감시자가 메모리를 누출하지 않는지 확인하세요.
- 버그: 테스트 중에 cli.action이 여전히 콘솔에 출력됩니다.
- 위업: GUI
나는 HTML을 전혀 모른다
괜찮습니다. 시작하려면 이 비디오를 확인하세요.
명령줄 메뉴
npm start
실행하면 다음 옵션이 제공됩니다.
작동 원리
- "src" 폴더의 파일은 "docs" 폴더의 정적 HTML 파일로 컴파일(인쇄)됩니다.
-
src/templates
폴더에는 템플릿이 포함되어 있습니다. 이는 정적 HTML 페이지를 생성하기 위해 콘텐츠 폴더와 함께 컴파일됩니다. -
src/content
폴더에는 HTML 코드 덩어리인 html 파일에 보관되는 사이트 콘텐츠가 포함되어 있습니다. -
npm run print
실행하거나 터미널 메뉴에서 인쇄를 선택하면 콘텐츠와 템플릿이 정적 HTML 파일로 컴파일되고 docs 폴더가 다시 생성됩니다. (참고: 문서의 모든 내용을 덮어쓰므로 src 디렉터리에만 콘텐츠를 저장하세요!) - 메뉴에서 "serve" 명령을 실행하여 사이트를 로컬에서 테스트할 수 있습니다.
- 사이트를 배포할 준비가 되면
npm run save && npm run publish
실행하세요. - 그런 다음 웹 서버가 Apache, Git 페이지, nginx 등 무엇이든 "문서"를 가리키도록 할 수 있습니다.
- 일반 HTML 요소를 대상으로 하는 스타일시트를 추가하면 제대로 작동합니다. :)
템플릿
-
<head />
또는 <main />
과 같이 자동으로 닫히는 템플릿의 태그는 동일한 이름과 일치하는 템플릿 파일을 검색합니다. main/index.html
과 같은 인덱스 html이 있는 디렉토리 또는 단순히 main.html
파일- 태그는 표준 HTML일 필요는 없습니다. template 폴더에 foo.html 템플릿을 만드는 경우
<foo />
태그를 포함하면 foo의 내용이 대체됩니다. - 템플릿 컴파일은 재귀적이므로 템플릿 내에서 템플릿을 사용할 수 있습니다. 그러나 중첩된 템플릿은 상위 템플릿 내에 있거나 상위 템플릿에 인접한 파일이어야 합니다. 그렇지 않으면 그냥 무시됩니다.
-
<content/>
태그는 특별하며 파일과 동일한 이름(dir 포함) 또는 기본 템플릿('templates/index.html)으로 템플릿을 가져옵니다. - 콘텐츠 디렉토리에 원하는 페이지를 만들 때. 해당 디렉토리와 관련된 디렉토리가 사이트에 동일한 경로로 표시됩니다. 이 구조를 사용하면 폴더와 URL을 자체 구성할 수 있습니다.
제약
- JS 없음
- 기본 href 등을 제외한 속성은 없습니다.
- 수업이 없습니다. 이는 바닐라 CSS를 대상으로 하는 스타일시트를 추가할 수 있게 해줍니다.
- SASS/SCSS/LESS가 없습니다. 단순한 HTML 요소에는 필요하지 않습니다.
- React, Angular 등은 없습니다.
- 아니면 원하는 것은 무엇이든 해킹할 수 있습니다.
철학
HTML은 단순하고 일반 사람들이 인터넷에서 무언가를 만들고 소비할 수 있도록 설계되었습니다. 오늘날 웹은 매우 훌륭하지만 점점 복잡해져서 많은 사람들이 뒤쳐지고 있습니다. 이 CMS는 사람들이 자신을 자유롭고 쉽게 표현할 수 있는 방법을 제공하기 위해 기본으로 돌아갑니다.
- 프레임워크는 기존 기술과 표준을 최대한 활용하려고 합니다.
- HTML은 독점 템플릿 태그 및 기타 특수 구문 대신 HTML 여신이 명령한 대로 모든 것에 사용됩니다. 템플릿 시스템은 자체 닫는 HTML 태그를 검색하고 이를 관련 템플릿이나 콘텐츠로 바꿉니다.
- 파일 시스템은 템플릿 찾기/이름 지정 및 URL 라우팅 모두에 활용됩니다.
- Git은 콘텐츠 및 템플릿의 HTML 파일과 함께 CMS의 실제 데이터베이스 역할을 합니다.
- 사이트는 "docs" 폴더에 "인쇄"한 다음 github 페이지를 설정할 수 있는 git에 "게시"합니다. 웹 서버에 구애받지 않으므로 실제로 docs 폴더의 파일을 가져와 원하는 위치에 놓고 웹 서버를 가리킬 수 있습니다.
- 태그에는 클래스나 속성이 필요하지 않습니다. 이를 통해 새로운 테마를 원활하게 추가할 수 있습니다. 바닐라 HTML을 스타일 적용을 위한 인터페이스로 생각할 수 있습니다.
- JavaScript 사용은 불필요한 것이 아니기 때문에 사용하지 않는 것이 좋습니다. 하지만 프레임워크에는 JavaScript 사용을 방해하는 것이 없습니다.
- 내가 방금 쓴 모든 내용을 무시하고 원하는 대로 하셔도 됩니다. 인터넷이에요!
자주 발생하는 문제
- 이상하게 작동하는 종속성:
Lerna는 종속성을 상호 연결하기 위해 내부적으로 몇 가지 작업을 수행합니다. 새 모듈을 설치했는데 작동이 멈추면 루트에서 lerna bootstrap
시도해 보세요. - 테스트 디렉토리가 정리되지 않습니다. 테스트가 실패하면 테스트 디렉터리가 정리되지 않을 수 있습니다. 이 경우
npm run clean-test-dir
실행하면 수동으로 제거됩니다.
기여
- packages/cli에서 테스트를 실행하여 모든 것이 제대로 작동하는지 확인합니다
npm run test
- 모노 저장소
npm run commit
에 대한 변경 사항을 커밋하고 프롬프트를 따릅니다. - lerna 게시 --force-publish 이는 NPM에 게시하고 git에 태그를 푸시합니다.