http://freenode.net에 대한 반짝이는 교체.
Node.js 종속성이 필요합니다.
$ sudo npm install -g [email protected] svgo uglify-js
$ npm install그런 다음 Python 3.4 (또는 이후) 설치를 가정합니다.
$ python3 -m venv env
$ . env/bin/activate
$ pip install -r requirements.txt
$ cms7 모든 것이 잘 진행되면 많은 로그 출력을 볼 수 있고 out/ 사이트가 있습니다.
사이트를 정적으로 생성하기 때문에 무언가를 변경할 때마다 cms7 다시 실행해야합니다. 편집기가 모든 디렉토리에서 실행할 수있는 Compile 명령을 좋아하는 경우 cms7 -c /path/to/config.yml 사용할 수도 있습니다.
기여 지침을 준수하십시오
병합 PRS에 유용한 팁 : 트리를 탐색 할 수 있습니다. https://github.com/freenode/web-7.0/tree/pull/XYZ/merge 로 탐색하여 병합이 발생할 수 있습니다. 여기서 XYZ 풀 요청 번호입니다.
https://freenode.net/web-7.0/BRANCHNAME/ 으로 이동하여 특정 지점의 빌드를 볼 수 있습니다. 이것은 또한 내부 풀 요청에도 적용됩니다 ( pull-X 라고합니다).
이 사이트는 content/ 및 templates/ 에 각각 발견되는 Markdown 소스 및 Jinja2 템플릿에서 생성됩니다. Travis 빌드는 푸시 할 때마다 GitHub 페이지에 자동으로 배포됩니다.
다양한 모듈은 소스를 유용한 출력 구조로 변환합니다. 결국 CMS7 은이 과정을 문서화하지만 지금은 다음과 같습니다.
content/pages/ page.html 사용하여 out/ 되는 일반 페이지가 포함되어 있습니다.
content/news/ out/news/ article.html 사용에 렌더링되는 블로그/뉴스 게시물이 포함되어 있습니다.
content/kb/ KB 범주가 포함되어 있습니다. 각 디렉토리 content/kb/X/ 카테고리 X 에 대한 항목이 있습니다. 이것들은 out/kb/answers/ kb.html 로 렌더링됩니다.
이 항목의 인덱스는 config/kb.yml 의 목록에 따르면 out/kb/ with kb_index.html 로 렌더링됩니다.
CMS7은 Markdown 메타 데이터 확장을 사용하고 몇 가지 특수 키를 인식합니다.
title 페이지 제목을 설정합니다slug 대상 URL을 무시합니다 : pages/hello slug: banana out/banana.html 됩니다.template 이 마크 다운 파일을 렌더링 할 템플릿을 무시합니다.블로그 특정 :
authordateenclosure 기사의 팟 캐스트 URL을 설정합니다최종 출력에서 끝나는 모든 것은 웹 사이트의 나머지 부분에 식별하는 이름이 있습니다. 파일이 입력 파일에서 직접 파생 된 경우 일반적으로 이름은 입력 이름에서 파생됩니다.
content/pages/hello.md pages/hello 같은 Markdown 파일은 컨텐츠 디렉토리에 비해 자신의 이름으로 이름을 지정합니다.static/img/cat.jpg 와 같은 정적 리소스는 저장소 루트에 비해 자체 이름으로 선정되었습니다 : static/img/cat.jpg .kb/index/X 라는 이름이며, 여기서 x는 config/kb.yml 의 인덱스 이름입니다.CMS7은 모든 페이지에서 이름을 가진 상대 URL을 생성 할 수 있습니다. 이것은 항상 수동으로 링크를 작성하는 것보다 선호해야합니다. Markdown 문서에서 상대 링크를 생성하려면 이름으로 만 링크하십시오.
[ A page about frogs ] ( pages/frog ) 템플릿에서 동일한 작업을 수행하려면 url_for 에 전화하십시오.
< a href = " {{ url_for('pages/frog') }} " >A page about frogs</ a >