organizing a course

I teach at a university, and this quarter I’ve been treating the lecture notes for each of my courses as a single “project” in Scrivener, divided by topic and subtopic.

I don’t tend to teach exactly the same material each time I teach a course, or in exactly the same order. In my old system, each time I taught a given course, I would create a new folder and keep my lectures in separate files in that folder. As we came to a certain topic, I would look in the old source folders for lectures on that topic, copy them into the new folder, then hack away at them to suit my current situation. This often meant taking the second half of one lecture and pasting it together with the first half of another. Inevitably, my old notes would overlap. Sometimes I’d prep something for one day, not get to it, and, when prepping for the next day, I’d open a new file, copy what I didn’t cover from last time, and then proceed to edit it. So the collection of notes was something of a mess.

This term, I took all the old lecture notes and dumped them into the “Research” folder in a new Scrivener project, and I’ve been gradually building up, in the “Drafts” folder, the current version of the course. The same features of Scrivener that make it good for organizing the narrative of a fictional work make it good for organizing the narrative of a course: I have a much better overview of how the different pieces of the course are fitting together, for example. And I’ve done away with the overlap from lecture to lecture.

Since this is my first term trying this out, I can’t say exactly how helpful this will be from term to term. But I hope to make good use of the corkboard and outline views to reorganize the course.

Anyone else using Scrivener in this way? Any tips?


Yes, exactly like you. A lecture series used to be a folder full of Word files (more recently Mellel) together with Keynote files and pdfs for online distribution. Now it’s a Scrivener project with the draft folder subdivided into lectures. (And a folder filled with Mellel, Keynote and pdf files… . Oh well.) The primary advantage is as you said, it’s easy to move material between lectures.

Not really. One thing you probably already know but which is fairly crucial to this set up is that its OK to keep all the lectures in the draft folder because in Compile Draft there’s a dropdown menu at the top of the dialogue that lets you set any subfolder of the draft as the source.

I don’t use the corkboard at all. I do all of my outlining in the main text and binder. I have recently started using the outliner to get a feeling for the balance of the sections within each lecture though, since it can display a word count per section (which the binder doesn’t do).

I use the same methods, but with DevonNote and the Finder, not Scrivener.
My main reason is that I like to keep teaching and writing as separate activities.
Also, DN seems to load web pages faster than Scrivener.
Maybe that’s an illusion; I can rename the labels easily; also project them in class.
But I certainly can see Scrivener used as a course organizer.
And I would encourage all students to use it as a writing app.

I used Scrivener pretty much the same way in my last year of college professing. I guess the only tip I can add is: don’t overlook the use of Project Notes and Document Notes to keep track of ideas, feedback, etc. during the term. Makes it easier when revising your course next time you teach it. I also imported into Scrivener things like class rosters, files I wanted to send out or post to a class website, etc.

Thanks for the tips. I figured others would be doing this too.

@druid: I agree on the need to keep teaching and writing separate. I hope I’m not going to regret my decision to use the same software for both.

Does anybody else try to gather course material (PDFs, urls, etc.) into the Research folder and then sort them by lecture? If so, do you have trouble dragging PDFs up into the binder? I’ve created a “readings” folder within each lecture folder (e.g. week one, two, etc,) but can’t drag readings there.

Make sure you aren’t dragging the PDFs into the Draft. Only text and folder documents can be added to the Draft.

Thanks for this idea!! Yet another use for Scriv! But I have some questions Im hoping some people may have answers for.

I run courses/workshops on how to write scientific papers, in which the participants work through online readings and exercises. The course is quite extensive, and Im always remodeling it. Therefore I need to be able to think about and manipulate many, many chunks of content - which has not been easy when they are distributed across the folders and files of a Dreamweaver-generated site, or even worse, lost in the labyrinth of a Moodle-based site (Moodle, where I store most of my content now, is the world’s most popular open-source Course Management Software, but it is pre-Drupal, and pretty clunky).

Now while Scrivener allows me to flip easily between an eagle’s- and ant’s-eye view of the material, and everything in between - and is a godsend for that - it does involve a lot of transferring chunks between my Scriv Project binder and Moodle. I dont think there is any way of avoiding transfers, and that doesnt bother me too much.

But what I would like to reduce is the number of steps required to retain formatting during the transfers. The editing window in Moodle is a rich text editor and I can cut and paste from Moodle to Scriv without loss (except for images of course). But going the other way, the only way Ive found that retains the formatting (paragraphs, fonts etc) is to export the Scriv content to a html file, open that file, then copy and then paste the html into the Moodle editing window. Rather bothersome. Copying and pasting directly from Scriv to Moodle results in lots of formatting loss.

Is there a way to get that formatted Scriv text into Moodle more easily, e.g. by seeing the html directly within Scriv?



Not at the moment, but the next version (coming up soon) will have a better way to do what you are doing using copy and paste via HTML.

I organize my web sites in Scrivener and create them in SandVox Pro. SVP accepts RFT files and conforms them to the style sheets set up by its various themes. You can modify the themes and also the style sheets, if you know enough HTML. What I like is writing the prose in Scrivener and transferring it wholesale, without any need for re-editing the copy. That includes lists, tables, indents, and other RTF elements.

Thanks guys. I look forward to the html goodness to come in 2.0

Druid: I take it then thats there’s nothing you know of (even PC would help) that vaguely resembles Scrivener for website builders?


This is the sort of thing that calls for Automator.

Writing Automator tasks that convert markdown to HTML is fairly trivial. Dealing with RTF is trickier than it should be, because Applescript and Automator don’t provide very good support for getting at or manipulating RTF.

Here is a (nasty!) shell script that converts RTF on the clipboard to HTML:


osascript -e 'the clipboard as «class RTF »' | \
perl -ne 'print chr foreach unpack("C*",pack("H*",substr($_,11,-3)))' | \
textutil -format rtf -convert html -stdin -stdout | \
ruby -ne '@found=true if $_ =~ /<body>/; next unless @found; puts $_; exit if $_ =~ /<\/body>/' | \
grep -v "<body>" | \
grep -v "</body>" | \

The first two lines get the RTF off the clipboard. The third line converts it to HTML. The next three lines strip off the header and footer (I’m sure this can be done more elegantly, but this gets the job done). The last line puts it back on the clipboard.

You could create a system service in Automator that just consists of this script (use the “run shell script” action) and assign it a hotkey. Or you could save this script somewhere and run it from Quicksilver, possibly via a hotkey trigger. Or you could assign it a hotkey using Fastscripts. Or you could save it with the “.command” extension, put it in your dock, and run it by clicking on it.

The resulting workflow would be: copy the text in scrivener, hit the hotkey (or click on the .command file), then paste into Moodle, or whereever else you want to paste.

At the cost of reduced flexibility, you could get a single “Paste RTF as HTML into Firefox” script by adding the following lines to the original script:

osascript <<EOF
tell application "Firefox" to activate
tell application "System Events"
	tell process "Firefox"			
		tell menu bar 1
			tell menu bar item "Edit"
				tell menu "Edit"
					click menu item "Paste"
				end tell
			end tell
		end tell		
	end tell
end tell

Wrap this into an Automator service, or run it via trigger with Quicksilver or Fastscripts. Then the workflow is: copy the text from Scrivener, hit the hotkey to paste it into the current open window in Firefox.

If you use Safari instead, replace “Firefox” with “Safari” throughout.


A slightly improved version of the above script—the convert and paste all-in-one version—can be found here:

Unlike the version posted above, it uses an Applescript to try to paste into the currently active application, rather than hardcoding in the name of browser. But it doesn’t work for Firefox, for some reason. Grr.

Set up as a Quicksilver trigger, I think I’m going to find it useful. But what I’ll probably find more useful is a variant that goes one step further, pasting markdown instead of html:

That script relies on pandoc, but should be easy to tweak to use any other command line tool capable of converting html to markdown.


thanks David

I got the first action of your first technique to work, although it wouldnt paste to the browser automatically.

Ill look at the 2nd technique tomorrow.

good fun!

Ive tried the scripts and they would help but…

Ive noticed that the html that is copied via those scripts does not capture the names of any of the images that are embedded in the Scrivener file. For me thats a critical problem, since I promote visual outlining approaches heavily in my course, and keeping tabs on the many images I use in some way is necessary.

If I export the scrivener version of a document as an html file, then open it in say Dreamweaver, and copy the code from there into Moodle, sufficient image-identifying info is there. So the info is in the Scriv version somewhere, but the script itself doesnt pick it up.

I tried adding in the file name (and indeed its location) as a HTML comment in the moodle copy (via the HTML view of the Moodle Rich Text Editor) and that comment will stay in the html throughout the following series of migrations:


but if I copy and paste content between Scriv documents (which is basically how I want to edit the course) then the comments disappear, so Im left back without any image-identifying info - and even more steps :slight_smile:

Should I be looking at MultiMarkdown?

EDIT: I looked at MMd, and I dont think that will help me much, but it did get me to read the Scriv Reference Guide and Im now wondering if I might be able to exploit the Web Archive compile setting in some way.

I just keep getting blown away by Scriv’s features.

I know the lit people sometimes get annoyed by those of us who aren’t, but they may not realise that there is, apparently, nothing else out there in any operating system, that conveniently allows the rapid shifting between eagle’s eye- and ant’s- eye-view of editable documents (in the broad sense), organised nicely within a nested hierarchy.

The resulting reduction in cognitive burden is staggering - merely pointing my students in Scrivener’s direction will probably help them more as writers than everything else I do combined!

Such is the way with simple hacks!

I am not surprised that it doesn’t work with images. If you want to play around with it, open up Applescript Editor, and run

the clipboard as record

after copying some RTF content with images.

It looks like the relevant chunk of data is in an RTFD class instead of an RTF class. So the first modification to the script above would be to ask for class RTFD instead of class RTF.

If you do that, the bit of perl in the script more or less decodes the RTFD data, enough so that you can tell more or less what it is supposed to be: a chunk of RTF text with a reference to an image, followed by the image itself in some sort of embedded format. Ordinary RTFD files on OS X are folders containing some RTF and the associated image files.

So getting this to work with images means (a) finding a reliable way to decode the chunk of RTFD data that the applescript gives you (perhaps just chopping off the image data?) and (b) working out a way of getting it into a form that textutil can recognize and convert.

This is all beyond me!


Thanks, David, I dont know any programming at all, so its even more beyond me. But now that I understand whats needed - in the general sense - I can ask the computing guys at work for help.

Ive played around with the compile as web archive method in Scriv, and while it does it require using an intermediary between Scriv and Moodle (eg Dreamweaver) that at least gives me the opportunity to do a global search and replace of all the image location info (which is not possible within the Moodle RTE). Thus I dont have to edit each image separately in Moodle.