この README には、Cryogen の機能のサブセットのみが記載されています。追加のドキュメントについては、冷媒サイトを参照してください。
新しい Web サイトは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
は、leiningen テンプレートと deps-new テンプレートの両方が含まれています。
Web サーバーは、Leiningen のいずれかを使用してmy-blog
ディレクトリから起動できます。
lein serve # or lein serve:fast
または tools-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 を使用したい場合は、作成したブログ (例: my-blog
) でproject.clj
を開き、 :dependencies
内のcryogen-flexmark
という行をcryogen-asciidoc
に変更します (そして、正しいバージョンであることを確認します)。コンパイラは、 content/md
ディレクトリで.md
で終わるファイルを探す代わりに、 content/asc
ディレクトリで.asc
で終わるファイルを探すようになります。
Cryogen テンプレートには、 themes
フォルダーに 3 つのテーマが含まれています。ブログのテーマを変更するには、 config.edn
の:theme
キーの値を変更します。 Nucleus テーマは downloadwebsitetemplates.co.uk から入手します。Web サイトで寄付をしない限り、フッターを保持する必要があることに注意してください。
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 などのサーバーの静的フォルダーにコンテンツをコピーするだけで、サイトを利用できるようになります。
/etc/nginx/sites-available/default
に配置されているサンプル Nginx 構成を以下に示します。
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
ファイルに配置します。
導入の詳細については、こちらをご覧ください。
Pandoc などの外部コマンド/プログラムを使用して、クライオジェンコア コンパイラーに Markdown レンダリングを提供する Clojure ライブラリ。
Copyright © 2014-2021 カルメン・ラ
Clojure と同じ Eclipse Public License に基づいて配布されます。