<ddfreyne>
guardian: No clue. If you want to prevent “collection“ pages from being indexed, I would recommend using <meta name="robots" content="noindex, follow">
<guardian>
yep I was considering it
<guardian>
that robots.txt works with google bot
alerante has quit [Ping timeout: 272 seconds]
<ddfreyne>
I think <meta> is much nicer than robots.txt
jarr0dsz has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
VitamineD has quit [Ping timeout: 260 seconds]
alerante has joined #nanoc
jugglinmike has joined #nanoc
ics has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<guardian>
why
<dkm>
bobthecow: re what am I building: I'm re-organizing a bunch of shell scripts I had written to manage a kind of text-based student database
<bobthecow>
oh, cool.
<bobthecow>
ruby cli apps are awesomer than shell scripts any day :)
<bobthecow>
i thought about writing forematter (my frontmatter tool i posted screenshots of) as shell scripts for about a minute. portability would have been awesome. maintaining them would not. ruby wins!
alerante has quit []
<ddfreyne>
Yup!
<dkm>
bobthecow: yeah, I was running into the issues that we were discussing before with having like 30 commands like mystuff-add-student, mystuff-get-student-repo, etc.
<dkm>
because I have a roster that has student ids, names, emails, etc.
<dkm>
and then I attach different types of records to individual students
<dkm>
like blog feeds
<dkm>
assignment summision URLs, etc.
<dkm>
and then I want to do things like "for each student, clone the url for assignment 1"
<dkm>
or "for each student, review the README file for assignme 1"
<dkm>
so every one of those commands needs a consistent way of accessing the roster, and accessing additional pieces of information for each student record
<dkm>
anywho, I like what I have gotten started with ruby and cri
<bobthecow>
awesome :)
<ddfreyne>
dkm: If you have feedback about cri, let me know!
<bobthecow>
ddfreyne: i ended up copypasting several things out of nanoc-cli to make my cri do what i wanted. mebbe those could be moved into cri?
<ddfreyne>
bobthecow: which ones are those?
<bobthecow>
looks like i started by copying a lot, then just ended up using the setup commands stuff.
<bobthecow>
having a Cri::App base class could make that a lot easier though.
<ddfreyne>
Oh yeah. I need to make that a lot nicer (and actually, nanoc 4.x requires some significant changes to that)
<ddfreyne>
You mean the Nanoc::CLI class basically, right?
<ddfreyne>
(Or module, whatever it is)
<bobthecow>
yeah. that's what i copied from.
<bobthecow>
i would assume that a super common use case is a bin file that runs an app, and a lib folder called commands full of commands.
<bobthecow>
and maybe a helper class or two.
<ddfreyne>
I am running into trouble with external libraries (e.g. nanoc-deploy) defining custom commands but being unable to add their own commands in a nice way
<bobthecow>
because it's all currently hardcoded into Nanoc::CLI
<ddfreyne>
Yeah. It's icky :(
<bobthecow>
every nanoc library with commands should register them in their auto-required file.
<bobthecow>
lib/nanoc-deploy.rb, in this case.
<bobthecow>
give Nanoc::CLI a class method for registering commands.
<bobthecow>
and then have lib/nanoc-cli.rb use that to load all its own commands as an example :)
<bobthecow>
honestly, using that file to register any filters, data sources, commands, etc would probably be the best way for plugins to integrate.
<bobthecow>
because it's auto-required by bundler, and if you're running without bundler you just tell people to add `require 'nanoc-deploy'` to the top of their nanoc.rb config file.
<bobthecow>
and get rid of the `include` in lib/default.rb... replace it with `require 'nanoc-whatever'` in the config file.
ics has joined #nanoc
number-six has quit [Ping timeout: 252 seconds]
jaspervdj has quit [Ping timeout: 260 seconds]
tom[] is now known as chaps[`tom`]
ics has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<ddfreyne>
dkm: I could put all of those into their own projects, but I am unsure how useful that would be.
VitamineD has joined #nanoc
ics has quit [Ping timeout: 240 seconds]
ics has joined #nanoc
<dkm>
ddfreyne: not sure what the rule of thumb is for ruby gems, but I think at least the stuff surrounding PluginRegistry would be useful, I could see people wanting to use that functionality with non-nanoc projects
<dkm>
haven't really looked at NotificationCenter
<dkm>
right now in my project I "require 'nanoc'" just to get at Nanoc::PluginRegistry::PluginMethods
<dkm>
I think combineing that with the parts of CodeSnippet that goes through /lib/*.rb abd loads each file would be pretty useful for anyone writing a tool in which it made sense for the end user to want to extend
<ddfreyne>
dkm: I agree that the plugin stuff would be cool to extract
<dkm>
ddfreyne: cucumber does something similar, to some extent, not sure what they're doing under the hood