1
0
mirror of https://github.com/projekteuler/projekteuler.git synced 2026-01-27 02:28:50 +01:00

Improve translation creation form by using codemirror

This commit is contained in:
2015-02-08 17:30:06 +01:00
parent a127fbcf15
commit 5c1709ba7e
9 changed files with 80 additions and 5 deletions

View File

@@ -14,4 +14,11 @@
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
//= require codemirror
//= require codemirror/addons/display/placeholder
//= require codemirror/modes/xml
//= require codemirror/modes/css
//= require codemirror/modes/javascript
//= require codemirror/modes/htmlmixed
//= require translations
//= require_tree .

View File

@@ -1,3 +1,20 @@
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://coffeescript.org/
cm = null
loadCodeMirror = ->
$('#translationNav li:first').addClass('active')
$("textarea").each ->
cm = CodeMirror.fromTextArea($(this).get(0), {
lineNumbers: false,
lineWrapping: true,
mode: "text/html"
})
$(document).ready loadCodeMirror
$(document).on "page:load", loadCodeMirror
$(document).on "click", '#translationNav a[href="#preview"]', ->
$('#preview .problem-content').html(cm.getValue())

View File

@@ -12,6 +12,7 @@
*
*= require_tree .
*= require devise_bootstrap_views
*= require codemirror
*= require_self
*/

View File

@@ -1,3 +1,35 @@
// Place all the styles related to the Translations controller here.
// They will automatically be included in application.css.scss.
// You can use Sass (SCSS) here: http://sass-lang.com/
.CodeMirror {
/* Bootstrap Settings */
box-sizing: border-box;
margin: 0;
font: inherit;
display: block;
width: 100%;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
background: #fff none;
border: 1px solid #ccc;
border-radius: 4px;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
/* Code Mirror Settings */
font-family: monospace;
position: relative;
overflow: hidden;
}
.CodeMirror-focused {
/* Bootstrap Settings */
border-color: #66afe9;
outline: 0;
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.CodeMirror-empty pre.CodeMirror-placeholder { color: #999; }