Add Page Preview, fix weirdness in app.rb
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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 );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
Reference in New Issue
Block a user