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 end
post '/preview' do post '/preview' do
format = params['wiki_format'] @name = params['page']
data = params['text'] format = params['format']
data = params['content']
wiki = Gollum::Wiki.new(settings.gollum_path) 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 end
get '/history/:name' do get '/history/:name' do
+47
View File
@@ -236,6 +236,7 @@ a#function-image:hover span { background-position: -324px -28px; }
color: #333; color: #333;
cursor: pointer; cursor: pointer;
display: block; display: block;
float: left;
font-size: 1.2em; font-size: 1.2em;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-weight: bold; font-weight: bold;
@@ -361,3 +362,49 @@ a#function-image:hover span { background-position: -324px -28px; }
padding: 0.5em; padding: 0.5em;
width: 98%; 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; list-style-type: none;
overflow: hidden; overflow: hidden;
padding: 0; padding: 0;
} }
ul.actions li { ul.actions li {
float: left; 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 // Initialize the function bar by loading proper definitions
if ( EditorHas.functionBar() ) { if ( EditorHas.functionBar() ) {
@@ -281,6 +298,10 @@
return ( $('input#gollum-editor-message-field').length > 0 ); return ( $('input#gollum-editor-message-field').length > 0 );
}, },
previewButton: function() {
return ( $('#gollum-editor #gollum-editor-preview').length );
},
titleDisplayed: function() { titleDisplayed: function() {
return ( ActiveOptions.NewFile ); return ( ActiveOptions.NewFile );
} }
+1 -3
View File
@@ -9,9 +9,7 @@
</ul> </ul>
</div> </div>
<div id="wiki-content"> <div id="wiki-content">
<div class="has-rightbar"> {{>editor}}
{{>editor}}
</div>
</div> </div>
</div> </div>
<script type="text/javascript"> <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}} {{#is_create_page}}
<form name="gollum-editor" action="/create/{{escaped_name}}" method="post"> <form name="gollum-editor" action="/create/{{escaped_name}}" method="post">
{{/is_create_page}} {{/is_create_page}}
@@ -80,6 +80,7 @@
<span class="jaws"><br></span> <span class="jaws"><br></span>
<input type="submit" id="gollum-editor-submit" value="Save" title="Save current changes"> <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> </fieldset>
</form> </form>
</div> </div>