هل يمكنني الحصول على readme.textile في RDOC الخاص بي مع التنسيق المناسب؟

StackOverflow https://stackoverflow.com/questions/2138427

  •  22-09-2019
  •  | 
  •  

سؤال

أرغب في استخدام النسيج أو Markdown لكتابة ملفات ReadMe لمشاريعي ، ولكن عندما أقوم بإنشاء RDOC ، يتم تفسير ملف readme على أنه RDOC ويبدو مروعًا حقًا. هل هناك طريقة لجعل RDOC تشغيل الملف من خلال Redcloth أو BlueCloth بدلاً من تنسيقه؟ هل يمكن تكوينه لتوليت التنسيق من لاحقة الملف؟ (على سبيل المثال ، يتم تشغيل readme.textile عبر Redcloth ، ولكن يتم تشغيل readme.mdown عبر BlueCloth)

هل كانت مفيدة؟

المحلول

استخدام حديقة منزل بدلاً من RDOC مباشرة ، يتيح لك تضمين ملفات النسيج أو التكلفة طالما أن لاحقة ملفاتها معقولة. غالبًا ما أستخدم شيئًا مثل مهمة أشعل النار التالية:

desc "Generate RDoc"
task :doc => ['doc:generate']

namespace :doc do
  project_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
  doc_destination = File.join(project_root, 'doc', 'rdoc')

  begin
    require 'yard'
    require 'yard/rake/yardoc_task'

    YARD::Rake::YardocTask.new(:generate) do |yt|
      yt.files   = Dir.glob(File.join(project_root, 'lib', '**', '*.rb')) + 
                   [ File.join(project_root, 'README.md') ]
      yt.options = ['--output-dir', doc_destination, '--readme', 'README.md']
    end
  rescue LoadError
    desc "Generate YARD Documentation"
    task :generate do
      abort "Please install the YARD gem to generate rdoc."
    end
  end

  desc "Remove generated documenation"
  task :clean do
    rm_r doc_dir if File.exists?(doc_destination)
  end

end

نصائح أخرى

إذا قمت باستضافة مشروعك على Github ، يمكنك أيضًا استخدامه http://rdoc.info لبناء ونشر RDOCs تلقائيًا باستخدام الفناء.

أدرك الرمز في 26819 سبقه "شيء مثل" ، ولكن هناك مشاكل واجهت. تم رفض التعديلات الخاصة بي على الإجابة ، لذا إليك نسخة ثابتة (يتم التعليق):

desc "Generate RDoc"
task :doc => ['doc:generate']

namespace :doc do

  # edit: typically (for gems, at least), Rakefile is in the root, so ".", not ".."
  project_root = File.expand_path(File.join(File.dirname(__FILE__), '.'))
  doc_destination = File.join(project_root, 'doc', 'rdoc')

  begin
    require 'yard'
    require 'yard/rake/yardoc_task'

    YARD::Rake::YardocTask.new(:generate) do |yt|
      # edit: README.md is not a ruby source file - see
      # https://stackoverflow.com/questions/7907698/yard-0-7-3-fails-to-build-my-readme-in-both-markdown-and-textile
      # remove README.md from yt.files
      yt.files   = Dir.glob(File.join(project_root, 'lib', '**', '*.rb'))
      yt.options = ['--output-dir', doc_destination, '--readme', 'README.md']
    end
  rescue LoadError
    desc "Generate YARD Documentation"
    task :generate do
      abort "Please install the YARD gem to generate rdoc."
    end
  end

  desc "Remove generated documenation"
  task :clean do
    #edit: doc_dir was undefined; replaced by doc_destination
    rm_r doc_destination if File.exists?(doc_destination)
  end

end
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top