يوثق ملف 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
المصنوع يدويًا على قالب لينينجن وقالب إقلاع جديد.
يمكن بدء تشغيل خادم الويب من دليل my-blog
باستخدام إما Leiningen:
lein serve # or lein serve:fast
أو أدوات-dep:
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 للمترجم ذو النواة المبردة باستخدام أمر/برنامج خارجي، مثل pandoc.
حقوق النشر © 2014-2021 كارمن لا
يتم توزيعه بموجب ترخيص Eclipse العام، وهو نفس ترخيص Clojure.