Add Page Preview, fix weirdness in app.rb

This commit is contained in:
Eston Bond
2010-11-15 16:03:26 -08:00
parent 03569e3134
commit 6aace6f21f
6 changed files with 79 additions and 9 deletions
+6 -3
View File
@@ -80,10 +80,13 @@ module Precious
end
post '/preview' do
format = params['wiki_format']
data = params['text']
@name = params['page']
format = params['format']
data = params['content']
wiki = Gollum::Wiki.new(settings.gollum_path)
wiki.preview_page("Preview", data, format).formatted_data
@page = wiki.preview_page("Preview", data, format)
@content = @page.formatted_data
mustache :page
end
get '/history/:name' do
+47
View File
@@ -236,6 +236,7 @@ a#function-image:hover span { background-position: -324px -28px; }
color: #333;
cursor: pointer;
display: block;
float: left;
font-size: 1.2em;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-weight: bold;
@@ -360,4 +361,50 @@ a#function-image:hover span { background-position: -324px -28px; }
margin: 0.7em 0;
padding: 0.5em;
width: 98%;
}
/* @control minibutton */
#gollum-editor a.minibutton,
#gollum-editor a.minibutton:visited {
background-color: #f7f7f7;
border: 1px solid #d4d4d4;
color: #333;
cursor: pointer;
display: block;
font-size: 1.2em;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-weight: bold;
line-height: 1.2em;
margin: 0 0 0 0.8em;
padding: 0.5em 1em;
text-shadow: 0 1px 0 #fff;
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec');
background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec));
background: -moz-linear-gradient(top, #f4f4f4, #ececec);
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}
#gollum-editor a.minibutton:hover {
background: #3072b3;
border-color: #518cc6 #518cc6 #2a65a0;
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
text-decoration: none;
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#599bdc', endColorstr='#3072b3');
background: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3));
background: -moz-linear-gradient(top, #599bdc, #3072b3);
}
#gollum-editor #gollum-editor-preview {
float: left;
font-weight: normal;
padding: left;
}
+1 -1
View File
@@ -413,7 +413,7 @@ ul.actions {
list-style-type: none;
overflow: hidden;
padding: 0;
}
}
ul.actions li {
float: left;
@@ -54,6 +54,23 @@
});
}
if ( EditorHas.previewButton() ) {
var formAction =
$('#gollum-editor #gollum-editor-preview').click(function() {
// make a dummy form, submit to new target window
// get form fields
var oldAction = $('#gollum-editor form').attr('action');
var $form = $($('#gollum-editor form').get(0));
$form.attr('action', '/preview');
$form.attr('target', '_blank');
$form.submit();
$form.attr('action', oldAction);
$form.removeAttr('target');
});
}
// Initialize the function bar by loading proper definitions
if ( EditorHas.functionBar() ) {
@@ -281,6 +298,10 @@
return ( $('input#gollum-editor-message-field').length > 0 );
},
previewButton: function() {
return ( $('#gollum-editor #gollum-editor-preview').length );
},
titleDisplayed: function() {
return ( ActiveOptions.NewFile );
}
+2 -4
View File
@@ -8,10 +8,8 @@
class="action-page-history">Page History</a></li>
</ul>
</div>
<div id="wiki-content">
<div class="has-rightbar">
{{>editor}}
</div>
<div id="wiki-content">
{{>editor}}
</div>
</div>
<script type="text/javascript">
@@ -1,4 +1,4 @@
<div id="gollum-editor">
<div id="gollum-editor" data-escaped-name="{{escaped_name}}" class="{{#is_create_page}}create{{/is_create_page}}{{#is_edit_page}}edit{{/is_edit_page}}">
{{#is_create_page}}
<form name="gollum-editor" action="/create/{{escaped_name}}" method="post">
{{/is_create_page}}
@@ -80,6 +80,7 @@
<span class="jaws"><br></span>
<input type="submit" id="gollum-editor-submit" value="Save" title="Save current changes">
<a href="javascript:void(0)" id="gollum-editor-preview" class="minibutton" title="Preview this Page">Preview</a>
</fieldset>
</form>
</div>