জ্যাকিল পোস্ট তৈরি করা হয়নি


101

আমি আমার জ্যাকিল সাইটে একটি নতুন পোস্ট যুক্ত করার চেষ্টা করছি তবে আমি যখন চালাচ্ছি তখন উত্পন্ন পৃষ্ঠাগুলিতে এটি দেখতে পাচ্ছি না jekyll serve

জ্যাকিল পোস্ট তৈরি না হওয়ার কয়েকটি সাধারণ কারণ কী?

উত্তর:


231

4
ব্যবহার future:trueকোন স্থান ছাড়া পর :_config,ymlমাত্রই ভুল বিশালাকার: কনফিগারেশন ফাইল: (অবৈধ)। future: trueবেশিরভাগ পরিবর্তে ব্যবহার করা হবে।
yaitloutou 23'17

আর একটি সম্ভাব্য কারণ .markdownফাইলের নামটিতে এক্সটেনশন যুক্ত করতে ভুলে যাওয়া । আমি এটি জানি কারণ আমি আমার জীবনের 5 মিনিট সময় নষ্ট করেছি।
H2ONOCK

তোমাকে অনেক ধন্যবাদ! মাত্র 30 মিনিট অনুসন্ধান করেছিলাম কেন আমার পোস্টটি প্রদর্শিত হচ্ছে না যতক্ষণ না বুঝেছি যে একটি তারিখ ফিল্টার রয়েছে ... (15 মিনিটে এটি "ম্যাজিকালি" কাজ করবে ...)। ভবিষ্যতের বিকল্প যুক্ত করা হয়েছে এবং সবকিছু প্রত্যাশার মতো কাজ করে। সত্য আমার মতে ডিফল্ট হওয়া উচিত।
ম্যাথিয়াস ক্লেইন

4
আমি কী মিস করছি আমার পোস্টটি এখানে শিরোনামে একটি কোলন আছে এবং ঠিক আছে? Raw.githubusercontent.com/alexharv074/alexharv074.github.io/… এবং এটি এখানে ঠিক আছে? alexharv074.github.io
অ্যালেক্স হার্ভে

4
@ অ্যালেক্সহারভি মন্তব্যের জন্য ধন্যবাদ! এটি আসলে কোনও সমস্যা বলে মনে হচ্ছে না। আমি আমার উত্তর আপডেট।
অ্যারনিস্টভ

19

আপনি jekyll build --verboseবিল্ড প্রক্রিয়াটি বিশদভাবে দেখতে ব্যবহার করতে পারেন ।

অসাধারণ আউটপুট:

  Logging at level: debug
Configuration file: /home/fangxing/fffx.github.io/_config.yml
  Logging at level: debug
         Requiring: jekyll-archives
         Requiring: jekyll-livereload
         Requiring: kramdown
            Source: /home/fangxing/fffx.github.io
       Destination: /home/fangxing/fffx.github.io/_site
 Incremental build: enabled
      Generating... 
       EntryFilter: excluded /Gemfile
       EntryFilter: excluded /Gemfile.lock
           Reading: _posts/2018-01-14-new-post.md
           Reading: _posts/2014-01-01-example-content.md
           Reading: _posts/2014-01-02-introducing-lanyon.md
           Reading: _posts/2017-11-21-welcome-to-jekyll.markdown
           Reading: _posts/2018-01-14-boot-android-on-charge.md
           Reading: _posts/2013-12-31-whats-jekyll.md
          Skipping: _posts/2018-01-14-boot-android-on-charge.md has a future date
        Generating: Jekyll::Archives::Archives finished in 0.000122873 seconds.
        Generating: JekyllFeed::Generator finished in 0.000468846 seconds.
        ...

লগ থেকে আমি জেকলি দেখতে পেলাম 2018-01-14-boot-android-on-charge.mdকারণ এটির ভবিষ্যতের তারিখ রয়েছে।


6

একটি সম্ভাব্য কারণ হ'ল dateসামনের বিষয়টিতে উল্লিখিতটিতে টাইম জোন অফসেট থাকে না, সেক্ষেত্রে এটি ইউটিসির কাছে ডিফল্ট হয়, স্থানীয় মেশিনের টাইম জোন যেমনটি আপনি আশা করতে পারেন তেমন নয়। আমার বর্তমান স্থানীয় সময় অঞ্চল, বিএসটি-র সাথে ইউটিসি "ধরা" না দেওয়া পর্যন্ত আমি এতে এক ঘন্টা নষ্ট করেছি।

আমি এর একটি নির্দিষ্ট উত্তর খুঁজে পাইনি তবে আমি মনে করি যে সামনের বিষয়ে তারিখটি অবশ্যই ইউটিসিতে একটি টাইমজোন অফসেটের (অবশ্যই বাদ দিলে শূন্যের ডিফল্ট) দিয়ে দিতে হবে।

সুতরাং date: 2018-05-03 12:34:27 ইউটিসি হয় যেখানে বিশ্বের তুমি নির্বিশেষে নির্বিশেষে, এবং timezoneসেটিং _config.yml

সুতরাং তারিখের সময়গুলি নির্দিষ্ট করার জন্য সতর্ক থাকুন:

date: 2018-05-03 12:34:27 +0100

4
ফর্ম্যাটটিও date: 2018-05-03 12:34:27 +01:30কাজ করে বলে মনে হচ্ছে। অতিরিক্ত কোলন নোট করুন।
ইংলাইয়্যাং

এটি বুঝতে 10 মিনিট সময় নষ্ট করা হয়েছে। ধন্যবাদ!
সামিসনোটিনসনে

2

অথবা এটি যদি আপনি ব্রাউজারের ক্যাশে হতে পারে তবে আপনি যদি _ সাইট ফোল্ডারে না তাকিয়ে থাকেন তবে পোস্টের তালিকার সাথে সরাসরি ব্লগের মূল পৃষ্ঠায়।


2

আমি আমার ব্লগের জন্য আরএসপেক পরীক্ষা লিখেছি যা এই বিধিগুলি প্রকাশ করে:

require 'spec_helper'
require 'yaml'

# Documented at https://jekyllrb.com/news/2017/03/02/jekyll-3-4-1-released/
post_regex = %r!^(?:.+/)*(\d{2,4}-\d{1,2}-\d{1,2})-(.*)(\.[^.]+)$!

def date_in_front_matter(date)
  return date if date.is_a?(Date)
  return date.to_date if date.is_a?(Time)
  return Date.parse(date) if date.is_a?(String)
end

describe 'posts' do
  Dir.glob("_posts/*md").each do |file|
    basename = File.basename(file)

    context basename do
      front_matter = YAML.load(File.read(file).split(/---/)[1])

      it 'filename must match documented post regex' do
        expect(basename).to match post_regex
      end

      it 'date in file name same day as date in front matter' do
        date_in_file_name = Date.parse(post_regex.match(basename).captures[0])
        expect(date_in_front_matter(front_matter['date'])).to eq date_in_file_name
      end

      it 'title in front matter should not contain a colon' do
        expect(front_matter['title']).to_not match /:/
      end

      it 'front matter should not have published: false' do
        expect(front_matter['published']).to_not be false
      end
    end
  end
end

এটি অন্যের কাজে লাগতে পারে কারণ তারিখে টাইপোগুলির কারণে আমি অনেক সময় হারাচ্ছিলাম etc.

আরএসপেক কনফিগারেশনের বাকী অংশগুলির সাথে এই পরীক্ষাগুলি এখানে প্রসঙ্গে দেখা যাবে


2

শুধু আরও একটি কারণ যোগ করতে যখন আপনার কাছ থেকে একটি নিবন্ধ সরানো, _draftsথেকে _post, আপনি কখনও কখনও মোছার প্রয়োজন _siteদ্বিজ করা নিবন্ধটি জন্য।

আমার ক্ষেত্রে এটি প্রায়শই ঘটে যা _siteপুনরায় তৈরির আগে পুরোপুরি মুছে ফেলা হবে না যাতে নতুন নিবন্ধটি প্রদর্শিত হবে না।

যাইহোক rm -rf _siteএবং bundle exec jekyll serveকাজ :)


1

আপনি ফাইল ট্র্যাক করতে না পারেন তাহলে --verboseআর যদি ফাইল চুপটি তারপর উপেক্ষা করা হয় সরানোর চেষ্টা করুন collections_dirমধ্যে config.ymlফাইল। এটি আমার জন্য সমস্যাটি সমাধান করেছে।


0

আমার পোস্টে ত্রুটিটিও উপস্থিত ছিল না যে আমার নামে আমি একটি বিন্দু ব্যবহার করেছি, যেমন 2017-10-18-test.2.md
এটি গৃহীত নয়, আপনাকে ব্যবহার করতে হবে 2017-10-18-test2.md


0

আপনি যদি নিজের সামনের বিষয়টি পরীক্ষা করে দেখে থাকেন এবং সব কিছু ঠিকঠাক মনে হয় এবং এমনকি jekyll build --verboseকিছু প্রকাশ না করে (আমার ক্ষেত্রে এটি ঠিক এমনভাবে কাজ করেছে যে ফাইলটি একেবারেই উপস্থিত ছিল না, এমনকি এটি বাদও দেওয়া হয়নি) তবে এনকোডিং পরীক্ষা করে দেখুন আপনার ফাইল স্পষ্টতই, UTF-8এটি স্বাক্ষর ছাড়াই হওয়া দরকার । এটি UTF-8 BOM(বা UTF-8 with Signatureকিছু পাঠ্য সম্পাদক যেমন এটি কল করে) এটি চুপচাপ উপেক্ষা করা হবে। বিষয়টিকে আরও খারাপ করার জন্য, কিছু সম্পাদক উভয় প্রকারকে ঠিক হিসাবে প্রদর্শন করবে, তাত্পর্যটি আরও স্পষ্ট করে তুলবে UTF-8

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.