README นี้จะบันทึกเฉพาะคุณลักษณะบางส่วนของ Cryogen เท่านั้น สำหรับเอกสารเพิ่มเติม โปรดดูที่ไซต์ไครโอเจน
คุณสามารถสร้างเว็บไซต์ใหม่โดยใช้ leiningen
หรือ clj-new
หรือ deps-new
อย่างใดอย่างหนึ่ง
คุณจะต้องติดตั้ง Leiningen 2.5.0 ขึ้นไป
ไซต์ใหม่สามารถสร้างขึ้นได้โดยใช้เทมเพลต Cryogen leiningen ดังนี้:
lein new cryogen my-blog
หรือใช้ clj-new as a tool
:
clojure -Ttools install com.github.seancorfield/clj-new ' {:git/tag "v1.2.362"} ' :as clj-new # update to latest!
clojure -Tclj-new create :template cryogen :name myname/myblog :force true
cd myname/myblog/
หรือใช้ deps-new as a tool
:
clojure -Ttools install io.github.seancorfield/deps-new ' {:git/tag "v0.4.0"} ' :as new
clojure -Sdeps ' {:deps {io.github.cryogen-project/cryogen {:git/tag "0.6.6" :git/sha "fcb2833"}}} ' -Tnew create :template org.cryogenweb/new :name myname/myblog
cd myname/myblog/
cryogen/lein-template
มีทั้งเทมเพลตไลนินเกนและเทมเพลต deps-new
เว็บเซิร์ฟเวอร์สามารถเริ่มต้นได้จากไดเร็กทอรี my-blog
โดยใช้ Leiningen:
lein serve # or lein serve:fast
หรือเครื่องมือ-deps:
clojure -X:serve # or clojure -X:serve:fast
เซิร์ฟเวอร์จะคอยดูการเปลี่ยนแปลงในโฟลเดอร์ content
และ themes
และคอมไพล์เนื้อหาใหม่โดยอัตโนมัติ *:fast
ดำเนินการอย่างรวดเร็วแต่รวบรวมเฉพาะบางส่วนของหน้า/โพสต์ที่เปลี่ยนแปลง
คุณยังสามารถสร้างเนื้อหาโดยไม่ต้องเปิดเซิร์ฟเวอร์ผ่าน:
lein run
หรือผ่านทาง:
clojure -M:build
พบไฟล์การกำหนดค่าไซต์ที่ content/config.edn
ไฟล์นี้มีลักษณะดังนี้:
{ :site-title " My Awesome Blog "
:author " Bob Bobbert "
:description " This blog is awesome "
:site-url " http://blogawesome.com/ "
:post-root " posts "
:page-root " pages "
:post-root-uri " posts-output "
:page-root-uri " pages-output "
:tag-root-uri " tags-output "
:author-root-uri " authors-output "
:public-dest " public "
:blog-prefix " /blog "
:rss-name " feed.xml "
:rss-filters [ " cryogen " ]
:recent-posts 3
:post-date-format " yyyy-MM-dd "
:archive-group-format " yyyy MMMM "
:sass-src []
:sass-path " sass "
:theme " blue "
:resources [ " img " ]
:keep-files [ " .git " ]
:disqus? false
:disqus-shortname " "
:ignored-files [ #" . #.*" #".* . swp$" ]
:previews? false
:posts-per-page 5
:blocks-per-preview 2
:clean-urls :trailing-slash
:collapse-subdirs? false
:hide-future-posts? true
:klipse {}
:description-include-elements #{ :p :h1 :h2 :h3 :h4 :h5 :h6 }
:debug? false }
สำหรับข้อมูลเกี่ยวกับแต่ละคีย์ โปรดดูส่วน "การกำหนดค่า" ของไซต์เอกสารประกอบของ Cryogen
Cryogen มาพร้อมกับการรองรับ Markdown เป็นค่าเริ่มต้น หากคุณต้องการใช้ AsciiDoc แทน ให้เปิด project.clj
ในบล็อกที่คุณสร้างขึ้น (เช่น my-blog
) และเปลี่ยนบรรทัดใน :dependencies
ที่ระบุว่า cryogen-flexmark
เป็น cryogen-asciidoc
(และตรวจสอบเวอร์ชันที่ถูกต้อง) แทนที่จะค้นหาไฟล์ที่ลงท้ายด้วย .md
ในไดเร็กทอรี content/md
คอมไพเลอร์จะค้นหาไฟล์ที่ลงท้ายด้วย .asc
ในไดเร็กทอรี content/asc
เทมเพลต Cryogen มาพร้อมกับธีมสามธีมในโฟลเดอร์ themes
หากต้องการเปลี่ยนธีมของบล็อก ให้เปลี่ยนค่าของคีย์ :theme
ใน config.edn
โปรดทราบว่าธีม Nucleus ได้มาจาก downloadwebsitetemplates.co.uk ซึ่งกำหนดให้คุณต้องเก็บส่วนท้ายไว้ เว้นแต่คุณจะบริจาคบนเว็บไซต์ของพวกเขา
Cryogen ใช้เครื่องมือสร้างเทมเพลตของ Selmer สำหรับเค้าโครง โปรดดูเอกสารประกอบเพื่อดูแท็กและตัวกรองที่รองรับสำหรับเลย์เอาต์
โครงร่างมีอยู่ในโฟลเดอร์ themes/{theme}/html
ของโปรเจ็กต์ ตามค่าเริ่มต้น โครงร่าง base.html
จะถูกใช้เพื่อจัดเตรียมโครงร่างทั่วไปสำหรับไซต์ นี่คือที่ที่คุณจะเพิ่มทรัพยากรคงที่ เช่น เนื้อหา CSS และ JavaScript รวมถึงกำหนดส่วนหัวและส่วนท้ายสำหรับเว็บไซต์ของคุณ
เค้าโครงหน้าแต่ละหน้าควรมีชื่อที่ตรงกับคีย์ :layout
ในข้อมูลเมตาของหน้าและลงท้ายด้วย . .html
เค้าโครงหน้าจะขยายโครงร่างพื้นฐานและควรมีเฉพาะเนื้อหาที่เกี่ยวข้องกับเพจภายในบล็อก content
ตัวอย่างเช่น เค้าโครง tag
อยู่ใน tag.html
และมีลักษณะดังนี้:
{% extends "/html/base.html" %}
{% block content %}
< div id = " posts-by-tag " >
< h2 >Posts tagged {{name}}</ h2 >
< ul >
{% for post in posts %}
< li >
< a href = " {{post.uri}} " >{{post.title}}</ a >
</ li >
{% endfor %}
</ ul >
</ div >
{% endblock %}
Cryogen ใช้ Highlight.js สำหรับการเน้นไวยากรณ์โค้ด คุณสามารถเพิ่มภาษาเพิ่มเติมได้โดยการแทนที่ themes/{theme}/js/highlight.pack.js
ด้วยแพ็คเกจที่กำหนดเองจากที่นี่
ฟังก์ชัน initHighlightingOnLoad
ถูกเรียกใน themes/{theme}/html/base.html
< script >hljs.initHighlightingOnLoad();</ script >
เนื้อหาคงที่ที่สร้างขึ้นจะพบได้ในโฟลเดอร์ public
เพียงคัดลอกเนื้อหาไปยังโฟลเดอร์คงที่สำหรับเซิร์ฟเวอร์ เช่น Nginx หรือ Apache และเว็บไซต์ของคุณก็พร้อมให้บริการแล้ว
ตัวอย่างการกำหนดค่า Nginx ที่อยู่ใน /etc/nginx/sites-available/default
สามารถดูได้ที่ด้านล่าง:
server {
listen 80 default_server ;
listen [ :: ] : 80 default_server ipv6only = on ;
server_name localhost < yoursite . com > < www . yoursite . com > ;
access_log /var/log/blog_access.log;
error_log /var/log/blog_error.log;
location / {
alias / var / blog / ;
error_page 404 = / 404.html;
}
}
เพียงตั้งค่า yoursite.com
เป็นโดเมนของไซต์ของคุณในการกำหนดค่าข้างต้น และตรวจดูให้แน่ใจว่าเนื้อหาคงที่อยู่ที่ /var/blog/
สุดท้าย วางหน้าข้อผิดพลาดที่กำหนดเองของคุณในไฟล์ /var/blog/404.html
สามารถดูข้อมูลเพิ่มเติมเกี่ยวกับการปรับใช้ได้ที่นี่
ไลบรารี Clojure เพื่อจัดเตรียมการเรนเดอร์ Markdown ให้กับคอมไพเลอร์ cryogen-core โดยใช้คำสั่ง/โปรแกรมภายนอก เช่น pandoc
ลิขสิทธิ์ © 2014-2021 คาร์เมน ลา
เผยแพร่ภายใต้ Eclipse Public License เช่นเดียวกับ Clojure