Here are some example document events that you can use in your own documents or modify to suit your needs:
function documentWasOpened(document) {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1; //months are zero based
if (month < 10) {
month = "0" + month;
}
var day = now.getDate();
if (day < 10) {
day = "0" + day;
}
var newPageName = year + "." + month + "." + day
document.openPageWithTitle(newPageName);
}
Git is a version control system that you can install on your Mac. You can then use the following document event script to commit new and altered pages to a Git repository, located in your document. If a Git repository does not already exist, the script will create one for you.
function runGitWithArgsForDocument(document, args) {
task = NSTask.alloc().init().autorelease();
task.setCurrentDirectoryPath(document.fileURL().path());
task.setLaunchPath('/usr/bin/git');
task.setArguments(args);
task.launch();
task.waitUntilExit();
}
function documentWasOpened(document) {
var docURL = document.fileURL();
var gitURL = docURL.URLByAppendingPathComponent_('.git');
var fm = NSFileManager.defaultManager();
if (!fm.fileExistsAtPath_(gitURL.path())) {
print("Making the git repository");
runGitWithArgsForDocument(document, ['init']);
runGitWithArgsForDocument(document, ['add', 'pages', 'properties.plist', 'storeinfo.plist']);
runGitWithArgsForDocument(document, ['commit', '-m', 'First Commit']);
}
}
function documentWillClose(document) {
// adding pages again will just add any new pages that didn't already exist.
runGitWithArgsForDocument(document, ['add', 'pages']);
runGitWithArgsForDocument(document, ['commit', '-a', '-m', 'document close']);
}
function documentWasClosed(documentPath) {
}