Grav - थीम चर
इस अध्याय में, हम समझते हैं Theme VariablesGrav में। आपके विषय को डिज़ाइन करते समय ऑब्जेक्ट और चर को टहनी टेम्पलेट्स से एक्सेस किया जाता है और इन वस्तुओं और चर को Twig Templating Framework द्वारा पढ़ा और हेरफेर किया जाता है।
कोर ऑब्जेक्ट्स
टहनी टेम्पलेट कई हैं core objects; प्रत्येक वस्तु का एक सेट होता है variables तथा functions।
निम्न तालिका संक्षिप्त विवरण के साथ चर दिखाती है।
अनु क्रमांक। | चर और विवरण |
---|---|
1 | {{ base_dir }} हम इस वैरिएबल का उपयोग करके Grav इंस्टॉल बेस फाइल डायरेक्टरी प्राप्त कर सकते हैं। |
2 | {{ base_url }} इस चर का उपयोग करके Grav साइट के बेस url तक पहुँचा जा सकता है। |
3 | {{ base_url_relative }} यह बेस यूआरएल के सापेक्ष पथ को ग्रेव साइट पर लौटाता है। |
4 | {{ base_url_absolute }} यह बेस यूआरएल के पूर्ण पथ को Grav साइट पर लौटाता है। |
5 | {{ theme_dir }} इसका उपयोग वर्तमान थीम की फ़ाइल निर्देशिका फ़ोल्डर को वापस करने के लिए किया जाता है। |
6 | {{ theme_url }} इसका उपयोग वर्तमान विषय के सापेक्ष URL को वापस करने के लिए किया जाता है। |
config ऑब्जेक्ट
में configuration.yaml फ़ाइल, किसी भी Grav कॉन्फ़िगरेशन सेटिंग तक पहुँचने के लिए config ऑब्जेक्ट सेट है।
{{ config.pages.theme }}
यह वर्तमान में कॉन्फ़िगर की गई थीम को लौटा देगा।
साइट वस्तु
के लिए एक उपनाम प्रदान करता है config.site ऑब्जेक्ट, कॉन्फ़िगरेशन सेट में प्रतिनिधित्व करता है site.yaml फ़ाइल।
स्टाइलशीट ऑब्जेक्ट
ये ऑब्जेक्ट सीएसएस स्टाइलशीट परिसंपत्तियों को संग्रहीत करने के लिए एक सरणी प्रदान करते हैं, जिसे सीएसएस को टेम्पलेट्स में जोड़ने के लिए लूप किया जा सकता है।
स्क्रिप्ट वस्तु
ये ऑब्जेक्ट एक ऐसी सरणी प्रदान करते हैं, जिसमें जावास्क्रिप्ट संपत्ति होती है, जिसे लूप किया जाता है और जावा स्क्रिप्ट को टेम्प्लेट में जोड़ा जाता है।
पृष्ठ वस्तु
चूंकि Grav की संरचना में परिभाषित किया गया है pages/ फ़ोल्डर, page objectप्रत्येक पृष्ठ का प्रतिनिधित्व करने के लिए जिम्मेदार है। page object उस पृष्ठ के बारे में सभी जानकारी शामिल है जिस पर आप वर्तमान में काम कर रहे हैं।
निम्नलिखित तालिका पृष्ठ वस्तु के तरीकों को दिखाती है।
अनु क्रमांक। | विधि और विवरण | उदाहरण |
---|---|---|
1 | summary([size]) यह पैरामीटर के रूप में प्रदान की गई निर्दिष्ट आकार के साथ पृष्ठ सामग्री का एक सार देता है। यदि आकार निर्दिष्ट नहीं है, तो मान से प्राप्त किया जाता है summary.size चर में system/config/site.yaml फ़ाइल। आप सीमांकित भी कर सकते हैं ===आपकी सामग्री में। सीमांकक से पहले की सामग्री का उपयोग सारांश के लिए किया जाएगा। |
या |
2 | content() इसका उपयोग पृष्ठ की संपूर्ण HTML सामग्री प्राप्त करने के लिए किया जाता है। |
|
3 | headers() यह पृष्ठ के YAML सामने-मामले में परिभाषित पृष्ठ शीर्षकों को लौटाता है। |
उपरोक्त हेडर को इस प्रकार एक्सेस किया जा सकता है: |
4 | media() इसका उपयोग सभी मीडिया फ़ाइलों जैसे छवियों, वीडियो और अन्य फ़ाइलों तक पहुंचने के लिए किया जाता है। यह एक सरणी लौटाएगा जिसमें एक पृष्ठ से जुड़े सभी मीडिया होंगे। |
|
5 | title() यह पृष्ठ के शीर्षक को वापस करने के लिए सेट है जिसे पृष्ठ के लिए YAML हेडर में परिभाषित किया गया है। |
|
6 | menu() का मूल्य menuवैरिएबल लौटाया जाता है जो पेज के YAML हेडर में निर्दिष्ट होता है। अगर दtitle वैरिएबल सेट नहीं किया गया है, तो यह डिफ़ॉल्ट होगा title। |
|
7 | visible() इसका उपयोग पृष्ठ की दृश्यता निर्धारित करने के लिए किया जाता है। आमतौर पर अवधि (यानी, 01. फ़ोल्डर) के बाद संख्यात्मक मूल्य वाले पृष्ठ मेनू में प्रदर्शित किए जाते हैं और फ़ोल्डर नाम जिसमें संख्यात्मक मान नहीं होता है (यानी, फ़ोल्डरनाम) दिखाई नहीं देते हैं। हम इसे पेज हेडर में ओवरराइड कर सकते हैं। |
|
8 | routable() इसका उपयोग करके हम यह निर्धारित कर सकते हैं कि क्या पृष्ठ है routable या not routableइसका अर्थ है कि क्या आप पृष्ठ पर अपने ब्राउज़र को इंगित करते हुए सामग्री वापस प्राप्त कर सकते हैं। जो पेज रूटेबल नहीं हैं, उनका उपयोग प्लगइन्स, टेम्प्लेट आदि में किया जा सकता है और इन पेजों को सीधे एक्सेस नहीं किया जा सकता है। यह पेज हेडर में सेट किया गया है। |
|
9 | slug() इस चर का उपयोग करके, हम सीधे नाम प्राप्त कर सकते हैं जैसा कि पृष्ठ के URL में दिखाया गया है। |
|
10 | url([include_host = false]) इसका उपयोग पृष्ठ का URL वापस करने के लिए किया जाता है |
या |
1 1 | route() इसका उपयोग पृष्ठ की आंतरिक रूटिंग को वापस करने के लिए किया जाता है। |
|
12 | home() इस चर का उपयोग करके आप यह निर्धारित कर सकते हैं कि पृष्ठ किस रूप में कॉन्फ़िगर किया गया है homeपृष्ठ या नहीं। यह तब सही होता है जब किसी पृष्ठ को होम पेज के रूप में कॉन्फ़िगर किया गया हो और कॉन्फ़िगर न किए जाने पर गलत हो। आप इस सेटिंग को पा सकते हैंsystem.yaml फ़ाइल। |
|
13 | root() यह निर्धारित करता है कि वर्तमान पृष्ठ पदानुक्रम का मूल पृष्ठ है या नहीं। यह लौट आता हैtrue यदि यह एक मूल पृष्ठ है या false अगर यह रूट पेज नहीं है। |
|
14 | active() आप यह निर्धारित कर सकते हैं कि क्या ब्राउज़र इस चर का उपयोग करके वर्तमान पृष्ठ तक पहुंच रहा है। यह लौट आता हैtrue यदि ब्राउज़र इस पृष्ठ तक पहुँच रहा है या false अगर यह नहीं है। |
|
15 | modular() इस चर का उपयोग करके, हम यह निर्धारित कर सकते हैं कि यह पृष्ठ मॉड्यूलर है या नहीं। यदि यह एक मॉड्यूलर पेज है तो यह वापस आ जाता हैtrue तथा false अगर यह नहीं है। |
|
16 | activeChild() यह चर निर्धारित कर सकता है कि क्या इस URI के URL में सक्रिय पृष्ठ का URL है; या, सरल शब्दों में इस पृष्ठ का URL वर्तमान URL में है। यह तब बहुत उपयोगी होता है जब आप नेवीगेशन पर काम कर रहे होते हैं और आप यह जानना चाहते हैं कि क्या पेज एक ही पैरेंट पेज पर चल रहे हैं। |
|
17 | find(url) मार्ग URL द्वारा निर्दिष्ट के रूप में, पृष्ठ ऑब्जेक्ट इस चर द्वारा लौटाया जाता है। |
|
18 | collection() इस चर का उपयोग संग्रह के पृष्ठ शीर्षलेखों द्वारा निर्धारित संदर्भ के लिए पृष्ठों के समूह को वापस करने के लिए किया जाता है। |
|
19 | isFirst() यदि वर्तमान पृष्ठ इसके पहले पृष्ठ का भाई है, तो यह वापस आ जाता है true और लौटता है false। |
|
20 | isLast() यदि वर्तमान पृष्ठ इसके भाई-बहन के पृष्ठ से अंतिम है, तो यह वापस आ जाता है true और लौटता है false। |
|
21 | nextSibling() वर्तमान स्थिति के संदर्भ में, यह सरणी से अगला सिबलिंग पृष्ठ लौटाता है। |
|
22 | prevSibling() वर्तमान स्थिति के संदर्भ में, यह सरणी से पिछला सिबलिंग पृष्ठ लौटाता है। |
|
23 | children() जैसा कि पृष्ठों की सामग्री संरचना में परिभाषित किया गया है, इस चर द्वारा बाल पृष्ठों की सरणी को लौटाया गया है। |
|
24 | orderBy() क्रमबद्ध बच्चों के क्रम प्रकार को इस विधि द्वारा वापस किया जाता है। शामिल किए जाने वाले मान हैंdefault, title, date तथा folder और पेज हेडर में इन मूल्यों को कॉन्फ़िगर किया गया है। |
|
25 | orderDir() क्रमबद्ध बाल पृष्ठों की क्रम दिशा इस विधि द्वारा वापस आ जाती है। और मूल्य या तो हो सकते हैंasc(आरोही) या desc(descending)। आमतौर पर ये मान पेज हेडर में कॉन्फ़िगर किए जाते हैं। |
|
26 | orderManual() यह विधि एक सरणी देता है जिसमें मैनुअल पेज ऑर्डरिंग शामिल है और यह ऑर्डर पेज के किसी भी बच्चे के लिए होगा। यह मान आमतौर पर पेज हेडर में सेट किया जाएगा। |
|
27 | maxCount() यह चर बताता है कि कितने बच्चों के पृष्ठों को वापस करने की अनुमति है। आमतौर पर पृष्ठ हेडर्स में मान निर्दिष्ट किया जाता है। |
|
28 | children.count() यह चर एक पृष्ठ के लिए कितने बाल पृष्ठ देता है। |
|
29 | children.current() यह चर वर्तमान बाल आइटम लौटाएगा। |
|
30 | children.next() यह चाइल्ड पेजों की एक सरणी से अगले चाइल्ड आइटम को लौटाएगा। |
|
31 | children.prev() यह चाइल्ड पेजों की एक सरणी से पिछले चाइल्ड आइटम को लौटाएगा। |
|
32 | children.nth(position) इससे बच्चों की सरणी में बच्चे की स्थिति वापस आ जाएगी। |
|
33 | parent() एक नेस्टेड ट्री संरचना में जब आप मूल पृष्ठ पर वापस नेविगेट करना चाहते हैं, तब आप इस चर का उपयोग कर सकते हैं। यह वर्तमान पृष्ठ के लिए मूल पृष्ठ ऑब्जेक्ट लौटाएगा। |
|
34 | isPage() इस चर का उपयोग करके, आप यह निर्धारित कर सकते हैं कि क्या इस पृष्ठ में एक वास्तविक है .md फ़ाइल या यह रूट करने के लिए सिर्फ एक फ़ोल्डर है। |
|
35 | isDir() इस चर का उपयोग करके आप यह निर्धारित कर सकते हैं कि क्या वर्तमान पृष्ठ केवल राउटिंग के लिए एक फ़ोल्डर है। यह लौट आता हैtrue या false इसके आधार पर। |
|
36 | id() यह पृष्ठ के लिए अद्वितीय आईडी लौटाएगा। |
|
37 | modified() जब पृष्ठ अंतिम बार संशोधित किया गया था, तो यह टाइमस्टैम्प लौटाता है। |
|
38 | date() पृष्ठ के लिए दिनांक टाइमस्टैम्प इस विधि द्वारा लौटाया जाता है। आमतौर पर यह हेडर में कॉन्फ़िगर किया जाता है जो पेज या पोस्ट की तारीख का प्रतिनिधित्व करता है। यदि डिफ़ॉल्ट रूप से कोई मूल्य प्रदान नहीं किया जाता है तो संशोधित टाइमस्टैम्प का उपयोग किया जाता है। |
|
39 | filePath() इसके इस्तेमाल से आप पेज की पूरी फाइल पा सकते हैं। |
|
40 | filePathClean() यह सापेक्ष पथ लौटा देगा। |
|
41 | path() यह उस निर्देशिका का पूर्ण पथ लौटाएगा जिसमें वर्तमान पृष्ठ मौजूद है। |
|
42 | folder() यह पृष्ठ के लिए फ़ोल्डर का नाम वापस कर देगा। |
|
43 | taxonomy() यह टैक्सोनॉमी की एक सरणी लौटाएगा जो पेज के साथ जुड़ा हुआ है। |
पेज ऑब्जेक्ट
पृष्ठ ऑब्जेक्ट को ऑब्जेक्ट्स के नेस्टेड ट्री के रूप में दर्शाया गया है। यह नस्टेड ट्री बनाते समय बहुत उपयोगी हैnavigations, sitemap या finding a particular page।
बच्चों की विधि
यह पृष्ठ ऑब्जेक्ट की एक सरणी देता है जिसमें चाइल्ड पेज होते हैं। एक पेड़ की तरह संरचना के साथ पृष्ठ वस्तु फ़ोल्डर में हर पृष्ठ पर पुनरावृत्त किया जा सकता है।
मेनू के लिए शीर्ष स्तर के पृष्ठ प्राप्त करने के लिए, निम्न कोड का उपयोग करें।
<ul class = "navigation">
{% for page in pages.children %}
{% if page.visible %}
<li><a href = "{{ page.url }}">{{ page.menu }}</a></li>
{% endif %}
{% endfor %}
</ul>
उड़ी वस्तु
वर्तमान यूआरआई का हिस्सा उड़ी वस्तु के कई तरीकों का उपयोग करके पहुँचा जा सकता है।
http://mysite.com/Grav/section/category/page.json/param1:foo/param2:bar/?query1 = baz&query2 = qux:
निम्न तालिका उड़ी वस्तु के तरीकों को दिखाती है।
अनु क्रमांक। | विधि और विवरण | उदाहरण |
---|---|---|
1 | path() इस विधि का उपयोग करके वर्तमान url के भाग तक पहुँचा जा सकता है। |
|
2 | paths() इस पद्धति का उपयोग करके पथ तत्वों की सरणी को लौटाया जाता है। |
|
3 | route([absolute = false][, domain = false]) यह विधि निरपेक्ष या सापेक्ष URL के साथ मार्ग देती है। |
या, |
4 | params() यह URL में पैरामीटर भाग लौटाएगा। |
|
5 | param(id) यह परम का मूल्य लौटाएगा। |
|
6 | query() इस पद्धति का उपयोग करके URL के क्वेरी भाग को एक्सेस किया जा सकता है। |
|
7 | query(id) इसका उपयोग करके आप विशिष्ट क्वेरी आइटम तक पहुँच सकते हैं। |
|
8 | url([include_host = true]) यह पूर्ण URL लौटाता है जिसमें होस्ट शामिल हो सकता है या नहीं। |
|
9 | extension() यह एक्सटेंशन वापस कर देगा या यदि प्रदान नहीं किया जाता है, तो यह html वापस कर देगा। |
|
10 | host() यह URL का होस्ट लौटाता है। |
|
1 1 | base() इससे URL का आधार भाग वापस आ जाएगा। |
|
12 | rootUrl([include_host = true]) यह Grav इंस्टेंस का रूट URL लौटाएगा। |
|
13 | referrer() पृष्ठ की संदर्भ जानकारी इस विधि द्वारा वापस आ जाती है। |
हेडर ऑब्जेक्ट
यह इसके लिए एक वैकल्पिक है page.header()मूल पृष्ठ का। जब आप बाल पृष्ठों के माध्यम से लूपिंग कर रहे हों, तो मूल पृष्ठ शीर्षलेख का उपयोग करना अधिक उपयुक्त होता है।
सामग्री वस्तु
यह इसके लिए एक वैकल्पिक है page.content() मूल पृष्ठ का।
करयुक्त वस्तु
साइट के सभी वर्गीकरण जानकारी वैश्विक वर्गीकरण वस्तु में निहित हैं।
ब्राउज़र वस्तु
Grav प्रोग्रामेटिकली यूजर के प्लेटफॉर्म, ब्राउजर और वर्जन को बिल्ट-इन सपोर्ट के जरिए निर्धारित करता है।
{{ browser.platform}} # windows
{{ browser.browser}} # chrome
{{ browser.version}} # 24
कस्टम चर जोड़ना
कस्टम चर को कई तरीकों से जोड़ा जाता है। यदि आप साइट-वाइड चर का उपयोग कर रहे हैं, तो इसे अंदर डालेंuser/config/site.yaml फ़ाइल और आप इसे नीचे दिखाए अनुसार एक्सेस कर सकते हैं।
{{ site.my_variable }}
यदि चर केवल एक विशेष पृष्ठ के लिए है, तो आप इसे YAML फ्रंट-मैटर में जोड़ सकते हैं और इसका उपयोग करके एक्सेस कर सकते हैं page.header वस्तु।
For example -
title: My Page
author: John
लेखक का नाम इस रूप में देखा जा सकता है -
The author of this page is: {{ page.header.author }}
कस्टम ऑब्जेक्ट जोड़ना
प्लगइन्स का उपयोग करके, आप कस्टम ऑब्जेक्ट्स को ट्विग ऑब्जेक्ट में जोड़ सकते हैं। यह एक उन्नत विषय है और हम प्लगइन्स अध्याय में अधिक जानकारी देखेंगे ।