Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorporate GeneratePryMan into pry. #785

Merged
merged 7 commits into from Jan 1, 2013
Merged

Incorporate GeneratePryMan into pry. #785

merged 7 commits into from Jan 1, 2013

Conversation

rondale-sc
Copy link
Contributor

I've included the class and associated files into a directory nested inside the man directory (see: rondale-sc@28a43fe)

There is now a new rake task that calls this class called generate_man_page in the top level rake namespace. (see: rondale-sc@d47f3e8)

I ran the task to update the man-pages (see: rondale-sc@d47f3e8)

The idea here is to make sure the man-page is filled with useful information. If you want to alter the man page it's really simple now:

Adding a section

  1. Open up man/generate_pry_man/templates/pry.1.erb
  2. Add a header for the section you'd like to add
    • Be sure to prefix with ##(pound pound)
    • Then a newline, and a set of erb tags `<%= @man_sections[:section_name] %>
    • Be sure to replace :section_name with the name of your section.
  3. Create a file in `man/generate_pry_man/templates/man_sections/<name_of_your_section>.md
    • It is important to note that the name must be exactly the same as the symbol you passed to @man_sections.
  4. Write markdown in your newly created file.
  5. Run rake generate_man_page

Editing a section

  1. Open up man/templates/man_section/<name_of_section_you_want_to_edit>.md
  2. Edit the Markdown to tast.
  3. Run `rake generate_man_page

Caveats

  1. I added a dependency to the development environment in the Gemfile, though it is not required until it's needed
    • Dependency is on a gem called ronn, a nice gem for converting markdown into .roff files.
  2. The tests are slightly brittle because I'm relying on the output to match canned fixtures. So to get the tests to be valid again you'll have to copy in the output from your newly created .roff and .html files and then manually inspect them for correctness. Once that's done you're tests will pass again.
  3. Some work will be needed in the future if we need/want to create other man sections
    • ie. Currently we create PRY (1), to create PRY (2) or Pry (5) work will need to be done.
    • I think having just a section 1 makes sense (see my comment here for more info: Man page needs more attention #769)

Alright I think that's enough. Let me know if you'd like me to change anything, or if I need to restructure somehow.

Also, many thanks to irc#pry people for helping!

Jonathan Jackson added 7 commits December 16, 2012 23:27
Pry commands were listed using Pry version 0.9.10 on Ruby 1.9.3
Renamed the method copy_to_man_dir to move_to_man_dir.  And changed the
Rakefile to call by new name.  This clears out 3 additional files per
run.
Also exclude tests from running in jruby since ronn has a dependency on
rdiscount (a c-extension).
@banister banister merged this pull request into pry:master Jan 1, 2013
@banister
Copy link
Member

banister commented Jan 1, 2013

thanks, how do i install the man page?

@banister
Copy link
Member

banister commented Jan 1, 2013

Merging your commit causes test failures, can u fix these please? https://travis-ci.org/pry/pry/builds/3900587

:)

@banister
Copy link
Member

banister commented Jan 1, 2013

nm, it was reverted, fix the tests and we'll remerge at that point :)

@rondale-sc
Copy link
Contributor Author

Sure I'll take a look. I thought travis-ci was passing on the most recent commit though. Weird.

@rf-
Copy link
Member

rf- commented Jan 1, 2013

btw @rondale-sc we need to figure out a better way of excluding JRuby from these tests. The exit made it skip most of the tests: https://travis-ci.org/pry/pry/jobs/3900594

@rondale-sc
Copy link
Contributor Author

I'll look at this as soon as I get some time.

@rf- I'm not sure the correct way. With rspec it'd be something like

describe "Something", :unless => RUBY_PLATFORM == "java" do
   ...
end

but with bacon I wasn't able to use implicit filters (https://www.relishapp.com/rspec/rspec-core/v/2-2/docs/filtering/implicit-filters).

@banister I'll have to figure out about the tests when I can properly sit down at my computer. Sorry for the failing tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants