4 <title>{{ blog.title }}</title>
5 <link rel="stylesheet" href="{{ assets }}/style/screen.css" type="text/css">
9 <div id="tagcloud"></div>
11 <!-- form to create a post -->
12 <form id="new-post" action="new.html" method="post">
13 <h1>{{pageTitle}}</h1>
14 <p><label>Title</label>
15 <input type="text" size="50" name="title" value="{{title}}"></p>
16 <p><label for="body">Body</label>
17 <textarea name="body" rows="28" cols="80">{{body}}</textarea></p>
19 <label for="tags">Click tags to add them. (split by ',')</label>
20 <input size="50" type="text" name="tags" value="{{tags}}">
23 <input id="preview" type="button" value="Preview"/>
24 <input type="submit" value="Save →"/>
25 <span id="saved" style="display:none;">Saved</span>
28 <a target="_new" href="http://warpedvisions.org/projects/markdown-cheat-sheet/">Markdown help</a>
29 <div id="show-preview"></div>
33 <script src="../../script/jquery.scrollTo.js"></script>
34 <script type="text/javascript" charset="utf-8">
35 $.couch.app(function(app) {
36 var path = app.require("vendor/couchapp/lib/path").init(app.req);
37 var postForm, blog = app.require("lib/blog");
39 // extend the tagcloud so that clicks add tags to the current post
40 var tagcloud = $.extend(true, {}, this.ddoc.evently.tagcloud, {
45 var tag = $(this).text();
46 var tags = $("input[name=tags]").val();
47 if (tags) tags = tags+", ";
48 $("input[name=tags]").val(tags + tag);
55 $("#tagcloud").evently(tagcloud, this);
56 var postDoc = {{{doc}}};
58 $('label[for=body]').append(' <em>with '+(postDoc.format||'html')+'</em>');
59 $("form#new-post").submit(function() {
60 postDoc.author = $$("#account").userCtx.name;
61 postDoc.body = $("textarea[name=body]").val();
62 postDoc.title = $("input[name=title]").val();
63 var dtags = [], tags = $("input[name=tags]").val().split(",");
65 dtags.push($.trim(tags[i]));
68 if (!postDoc.created_at) {
69 postDoc.created_at = new Date();
72 postDoc._id = blog.slugifyString(postDoc.title);
74 app.db.saveDoc(postDoc, {
75 success : function(resp) {
76 $("#saved").text("Saved _rev: "+resp.rev).fadeIn(500).fadeOut(6000);
77 $('h1').html('Editing <a href="'+path.show('post',resp.id)+'">'+resp.id+'</a> by '+postDoc.author);
84 $('#preview').before('<input type="button" id="delete" value="Delete Post"/> ');
85 $("#delete").click(function() {
86 app.db.deleteDoc(postDoc, {
87 success : function(resp) {
88 $("h1").text("Deleted "+resp.id);
89 $('form#new-post input').attr('disabled', true);
96 $("#preview").click(function() {
97 var markdown = app.require("vendor/couchapp/lib/markdown");
98 var html = markdown.encode($("textarea[name=body]").val());
99 $('#show-preview').html(html);
100 $('body').scrollTo('#show-preview', {duration: 500});