Как переименовать или переместить README_FOR_APP направляющих

Когда я работаю rake doc:app в моем корневом каталоге приложения направляющих документы API сгенерированы с помощью /doc/README_FOR_APP как домашняя страница. Я хотел бы добавить a .rdoc расширение того файла, таким образом, это правильно представляется на GitHub. Еще лучше я хотел бы переместить его в корень приложения (/README.rdoc). Есть ли способ выполнить в этом мой Rakefile путем изменения включенного rake/rdoctask задача? Есть ли некоторое место, оно ищет название файла домашней страницы, который может быть изменен? Или я должен записать новую задачу Граблей?

Вопрос о премии: что является логикой позади двух отдельных файлов /README и /doc/README_FOR_APP для приложений направляющих? Почему не всего один?

5
задан Mogsdad 24 January 2018 в 06:23
поделиться

3 ответа

Задача RDOC RDOC находится в /lib/tasks/documentation.Rake

, чтобы делать то, что вы хотите, возьмите задачу: приложение и измените его, помещая его в файл. Ваше приложение / lib / tasks

#clear the doc:app task et al
Rake::Task["doc:app"].clear
Rake::Task["doc/app"].clear
Rake::Task["doc/app/index.html"].clear

namespace :doc do
  desc "Generate documentation for the application. Set custom template with TEMPLATE=/path/to/rdoc/template.rb or title with TITLE=\"Custom Title\""
  Rake::RDocTask.new("app") { |rdoc|
    rdoc.rdoc_dir = 'doc/app'
    rdoc.template = ENV['template'] if ENV['template']
    rdoc.title    = ENV['title'] || "Rails Application Documentation"
    rdoc.options << '--line-numbers' << '--inline-source'
    rdoc.options << '--charset' << 'utf-8'
    rdoc.rdoc_files.include('app/**/*.rb')
    rdoc.rdoc_files.include('lib/**/*.rb')
    rdoc.rdoc_files.include('README')
    rdoc.main = 'README'
  }
end

Я не уверен, что именно именно это именно, но играйте с ним и посмотрите на задача Docks rdoc для получения дополнительной информации.

4
ответ дан 14 December 2019 в 01:08
поделиться

Если вы создаете же задачу в вашей локальной папке приложения, скажите, lib / Tasks / doc.Rake и определите такую ​​же задачу, как это:

namespace :doc do
  task :app do
    # some code that adds rdoc extension
  end
end

, тогда эта задача будет запущена сразу после Rails ' Встроенная задача. Следовательно, вам не придется беспорядок с источниками рельсов и все же добиться своей цели.

1
ответ дан 14 December 2019 в 01:08
поделиться

Чтобы сделать то, что вы хотите:

файл Readme_for_app создается при создании новых приложений Rails. Этот код находится в рельсов - #. #. #. #. #. #. # \ Lib \ rails_generator \ generators \ application \ app \ app_generator.rb .

Чтобы добавить суффикс и изменить местоположение для всех ваших приложений Rails, вы можете изменить метод:

def create_documentation_file(m)
  # was m.file "doc/README_FOR_APP", "doc/README_FOR_APP"
  m.file "doc/README_FOR_APP", "README_FOR_APP.rdoc" 
end

, то вам нужно изменить задачу документации Rake, чтобы включить этот файл, а не старый, в Rails - #. #. # \ Lib \ Tasks \ Documentation.Rake :

Rake::RDocTask.new("app") { |rdoc|
  ...
  rdoc.rdoc_files.include('README_FOR_APP.rdoc') # was 'doc/README_FOR_APP'
}


Относительно логики отдельных файлов «README_FOR_PAPP и« README »:

  • README_FOR_APP , как имя подразумевает документацию для Ваш специфические применение рельсов, это касается классы и методы, которые вы будете написал.
  • README Общие Документальные средства для всех приложений Rails, описывающие структуру приложения Rails и некоторых настроек веб-сервера. Это на более высоком уровне, чем readme_for_app .

Однако ...

Как совет, я бы посоветовал вам сохранить оба файла, так и не переименовывать их (не забывайте о конфиденциации Rail по сравнению с конфигурацией . Любые рельсы будут ожидать, что эти файлы будут там, и переименовать их, может сделать все сложнее.

Эта конвенция может также использоваться вашим IDE. Например, я использую NetBeans, а представление проекта Rails предварительно сконфигурировано для отображения определенных файлов. Если вы переместите файл readme_for_app в корневой каталог, NetBeans не будет отображать его в представлении проекта, вам придется использовать представление файла или изменять представление проекта (не знаю, если это даже возможно).

4
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: