Rosetta Code:Village Pump/tasks descriptions only: Difference between revisions

From Rosetta Code
Content added Content deleted
(There's a task in that...)
(One approach)
Line 8: Line 8:
:Sounds like a good idea for a task "Extract task description from an RC task" (i.e. down to the first <nowiki>{{header|...}}</nowiki> :-)
:Sounds like a good idea for a task "Extract task description from an RC task" (i.e. down to the first <nowiki>{{header|...}}</nowiki> :-)
:--[[User:Paddy3118|Paddy3118]] ([[User talk:Paddy3118|talk]]) 10:18, 27 March 2015 (UTC)
:--[[User:Paddy3118|Paddy3118]] ([[User talk:Paddy3118|talk]]) 10:18, 27 March 2015 (UTC)

:I'd approach this by downloading all the tasks (approximately: all the rosetta wiki links from http://rosettacode.org/wiki/Category:Programming_Tasks which do not have a ':' in the url's path), and then clip them off starting at the line which contains "mw-headline"). That should get you close enough?
:In other words, something like this:

:<lang bash>wget -k http://rosettacode.org/wiki/Category:Programming_Tasks
lynx -force_html -dump Category%3AProgramming_Tasks | awk '/http:..rosettacode.org.wiki/{print $2}' | grep -v ':.*:' | xargs wget --wait=1 -kp
find rosettacode.org/wiki -type f | xargs perl -i -0777 -pe 's/\n[^\n]*mw-headline.*//s'</lang>

:Change perl's -i option to -i.bak if you feel like you might want to save the originals.

:You'll probably want a <code>.html</code> extension on those files, though, so also:

:<lang bash>find rosettacode.org/wiki -type f | while read f; do mv $f $f.html; done</lang>

:This will leave the table of contents in place, if but you could remove that if you like, using a similar approach. (Make a copy of your work before experimenting, so you do not overburden the site. When the site is overburdened, nobody can pull down content from it - including you.)

:I hope this helps. --[[User:Rdm|Rdm]] ([[User talk:Rdm|talk]]) 14:58, 27 March 2015 (UTC)

Revision as of 14:58, 27 March 2015

tasks descriptions only
This is a particular discussion thread among many which consider Rosetta Code.

Summary

How to get a list of programming tasks *without* solutions

Discussion

I'm going on a long plane trip. I'd like to take a printout of all the tasks but without the solutions. I have in mind to solve some of the solutions on paper whilst airborne, taking the list of solutions and the programming language manual. Axtens (talk) 07:04, 27 March 2015 (UTC)

Sounds like a good idea for a task "Extract task description from an RC task" (i.e. down to the first {{header|...}} :-)
--Paddy3118 (talk) 10:18, 27 March 2015 (UTC)
I'd approach this by downloading all the tasks (approximately: all the rosetta wiki links from http://rosettacode.org/wiki/Category:Programming_Tasks which do not have a ':' in the url's path), and then clip them off starting at the line which contains "mw-headline"). That should get you close enough?
In other words, something like this:
<lang bash>wget -k http://rosettacode.org/wiki/Category:Programming_Tasks

lynx -force_html -dump Category%3AProgramming_Tasks | awk '/http:..rosettacode.org.wiki/{print $2}' | grep -v ':.*:' | xargs wget --wait=1 -kp find rosettacode.org/wiki -type f | xargs perl -i -0777 -pe 's/\n[^\n]*mw-headline.*//s'</lang>

Change perl's -i option to -i.bak if you feel like you might want to save the originals.
You'll probably want a .html extension on those files, though, so also:
<lang bash>find rosettacode.org/wiki -type f | while read f; do mv $f $f.html; done</lang>
This will leave the table of contents in place, if but you could remove that if you like, using a similar approach. (Make a copy of your work before experimenting, so you do not overburden the site. When the site is overburdened, nobody can pull down content from it - including you.)
I hope this helps. --Rdm (talk) 14:58, 27 March 2015 (UTC)