आप इसे गलत करने का प्रयास करते हैं। आप एक यूआरएल पैरामीटर की गतिशील हैंडलिंग चाहते हैं। जैकिल स्थिर वेब जनरेटर है। तो आपको उन सभी पेजों को उत्पन्न करने की आवश्यकता है जिन्हें देखा जाएगा। आप इसके लिए जनरेटर कर सकते हैं। कृपया पेज https://github.com/mojombo/jekyll/wiki/Plugins
मैं आप क्या करना चाहते हैं के लिए एक जनरेटर पर काम किया और यह बहुत अच्छी तरह से काम करता है पर जेनरेटर खंड पर एक नजर है, मैं भी 'पिछला' और 'अगले' बटन बनाया। कृपया एक नज़र डालें और इसे आजमाएं। यह सभी श्रेणियों के लिए काम करता है (न केवल ro एक), लेकिन यदि आप चाहें तो इसे अनुकूलित कर सकते हैं।
फ़ोल्डर संरचना
| -- _plugins
` news.rb
| -- _layouts
` news.html
| -- _includes
` nav.html
| -- _config.yml
| -- ro
` -- _posts
| -- 2012-04-10-test.textile
| -- 2012-04-10-test2.textile
| -- 2012-04-10-test4.textile
| -- 2012-04-10-test6.textile
| -- 2012-04-10-test15.textile
| -- 2012-04-10-test3.textile
` -- 2012-04-10-test5.textile
` _site
genrator news.rb
गहरे लाल रंग का कोड
module Jekyll
class NewsPage < Page
def initialize(site, base, dir, category, posts_number, posts_per_page, pagination_skip)
@site = site
@base = base
@dir = dir
@name = "news_#{pagination_skip}.html"
self.process(@name)
self.read_yaml(File.join(base, '_layouts'), 'news.html')
self.data['category'] = category
self.data['posts_per_page'] = posts_per_page
self.data['pagination_skip'] = pagination_skip
if pagination_skip != 0
self.data['prev_pagination_skip'] = pagination_skip - posts_per_page
end
if pagination_skip + posts_per_page < posts_number
self.data['next_pagination_skip'] = pagination_skip + posts_per_page
end
end
end
class NewsGenerator < Generator
safe true
def generate(site)
if site.layouts.key? 'news'
dir = site.config['category_dir'] || 'categories'
site.categories.keys.each do |category|
posts_number = site.categories[category].length
pagination_skip = 0;
posts_per_page = 5;
begin
write_news_page(site, File.join(dir, category), category, posts_number, posts_per_page, pagination_skip)
pagination_skip += posts_per_page;
end while pagination_skip < posts_number
end
end
end
def write_news_page(site, dir, category, posts_number, posts_per_page, pagination_skip)
index = NewsPage.new(site, site.source, dir, category, posts_number, posts_per_page, pagination_skip)
index.render(site.layouts, site.site_payload)
index.write(site.dest)
site.pages << index
end
end
end
news.html
फ़ाइल के लेआउट
---
---
{% for post in site.categories[page.category] offset:page.pagination_skip limit:page.posts_per_page %}
{{ post.content }}
{% endfor %}
{% include nav.html %}
नेविगेशन nav.html
में शामिल
<div class="nav">
{% if page.prev_pagination_skip %}
<a rel="prev" href="{{site.basepath}}categories/{{page.category}}/news_{{page.prev_pagination_skip}}.html">Prev</a>
{% endif %}
{% if page.next_pagination_skip %}
<a rel="next" href="{{site.basepath}}categories/{{page.category}}/news_{{page.next_pagination_skip}}.html">Prev</a>
{% endif %}
</div>
इसे आज़माएं और मुझे यह बताने दें कि आपको यह पसंद है।
बीटीडब्ल्यू, कोई कारण नहीं है कि nav.html फ़ोल्डर में शामिल है, आप इसे सीधे news.html में लिख सकते हैं, लेकिन मैंने आपकी संरचना को रखा है। –
यह काम नहीं करता है लेकिन यह एक विचार है जिसे मुझे आगे बढ़ाना है। धन्यवाद। –
आपका क्या मतलब है: 'यह काम नहीं करता', यह एक संकलन समस्या है? या यह आपको जो चाहिए वह नहीं करता है। –