diff --git a/app/site_files.rb b/app/site_files.rb index 3d5507a6..ef6a02fa 100644 --- a/app/site_files.rb +++ b/app/site_files.rb @@ -110,6 +110,17 @@ end get %r{\/site_files\/text_editor\/(.+)} do require_login @filename = params[:captures].first + extname = File.extname @filename + + @ace_mode = case extname + when /htm|html/ then 'html' + when /js/ then 'javascript' + when /md/ then 'markdown' + when /css/ then 'css' + else + nil + end + begin @file_data = current_site.get_file @filename rescue Errno::ENOENT @@ -148,4 +159,4 @@ end get '/site_files/mount_info' do erb :'site_files/mount_info' -end \ No newline at end of file +end diff --git a/views/site_files/text_editor.erb b/views/site_files/text_editor.erb index c3657647..15a57814 100644 --- a/views/site_files/text_editor.erb +++ b/views/site_files/text_editor.erb @@ -2,7 +2,7 @@ html { overflow-y: hidden; } - #editor { + #editor { position: absolute; top: 0; right: 0; @@ -133,14 +133,14 @@ $('#editorUpdates').fadeOut(); //.addClass('hidden'); }, 2000) } - + } else { $('#saveButton').tooltip('show') $('#editorUpdates span').text(response) } $('#editorUpdates').fadeIn() $('#editorUpdates').removeClass('hidden') - + } }) } @@ -150,7 +150,9 @@ $(document).ready(function() { editor = ace.edit("editor") setTheme() - editor.getSession().setMode("ace/mode/html") + <% if @ace_mode %> + editor.getSession().setMode("ace/mode/<%= @ace_mode %>") + <% end %> editor.getSession().setTabSize(2) editor.getSession().setUseWrapMode(true) editor.setFontSize(14)