如何root_path
在application.js文件中获取项目?
我需要它来为需要加载其他JS文件的js插件(codemirror).如果我说"/javascripts/needed_file.js",这一切都很好,但是如果我将项目部署到"/ custom"会怎么样.
代码需要在整个项目中完成它的魔力,我希望它是UJS,所以它需要在一个静态的javascript文件中.
任何解决方案/简单的黑客?
有一个很好的例子,说明如何制作CodeMirror编辑器的全屏版本.但是,如果CodeMirror小部件位于某个其他部分position: absolute
或relative
div 的中间,则这不起作用(CodeMirror小部件的绝对定位将不再相对于整个页面).
我们可以向CodeMirror添加一个新命令来全屏显示:
CodeMirror.commands.fullscreen = function (cm)
{
var fs_p = $(cm.getWrapperElement());
if ( cm._ic3Fullscreen == null) {
cm._ic3Fullscreen = false;
cm._ic3container = fs_p.parent();
}
if (!cm._ic3Fullscreen)
{
fs_p = fs_p.detach();
fs_p.addClass("CodeMirrorFullscreen");
fs_p.appendTo("body");
cm.focus();
cm._ic3Fullscreen = true;
}
else
{
fs_p = fs_p.detach();
fs_p.removeClass("CodeMirrorFullscreen");
fs_p.appendTo(cm._ic3container);
cm.focus();
cm._ic3Fullscreen = false;
}
};
Run Code Online (Sandbox Code Playgroud)
在创建CodeMirror之后我们需要绑定这个新命令.将其添加到选项中:
extraKeys: {"F11": "fullscreen"}
Run Code Online (Sandbox Code Playgroud)
问题是如何在CodeMirrorFullscreen
CSS类中放置以确保全屏工作?
我试图弄清楚如何阻止浏览器在Codemirror中使用ctrl-s或cmd-s事件显示保存对话框.我可以让extraKeys工作,我无法得到它以避免调用恢复事件.我试过返回false,我已经挖掘了文档和示例.有谁知道如何防止默认发生?
这是代码:
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
lineNumbers: true, mode: "text/html",
extraKeys: {
"Ctrl-S": function (instance) {
alert("your mom");
return false;
},
"Cmd-S": function (instance) {
alert("my mom");
return false;
}
}
});
Run Code Online (Sandbox Code Playgroud) 我正在为我的应用程序使用Codemirror.
我注意到,如果我选择所有文本并按SHIFT + Tab,它将自动对齐我的代码,使其更容易阅读.
这是我的应用程序当前呈现的示例...
<ul>
<li>
<font color="#f90000">
Apples
</font>
</li>
<li>
<font color="#ff9a3d">
Oranges
</font>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
这就是我想要渲染它的内容.
<ul>
<li>
<font color="#f90000">
Apples
</font>
</li>
<li>
<font color="#ff9a3d">
Oranges
</font>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
编辑:
有没有人知道在没有在Codemirror中手动选择整个代码的情况下是否有办法做到这一点?
为什么?我有Codemirror在我的我的应用程序,添加的真实动态添加的所有代码的后台运行,但是当我保存最终的代码看起来像上面.
任何帮助是极大的赞赏.
在codemirror文档中,它们有一个名为markText的方法(http://codemirror.net/doc/manual.html#api_marker).我查看了文档但仍然不明白该怎么做.
var word = CodeMirror.fromTextArea(document.getElementById('words'), {
mode: "text/html",
});
word.markText({1,1},{3,1}, readOnly: true);
Run Code Online (Sandbox Code Playgroud)
上面的代码没有缝合工作.请告诉我如何正确使用markText方法.
提前致谢!
我有一个非常复杂的页面,我在选项卡中的隐藏选项卡中有许多CodeMirror实例.为了使它更复杂,我记得最后一个活动标签.
我已经设法让它工作一半(http://codepen.io/anon/pen/LheaF)问题在于第二个编辑器选项卡:
refresh()
方法,如果它已经启动,就像我对主编辑器一样.(function($) {
var mainEditor;
function initMainCodeEditor() {
if (mainEditor instanceof CodeMirror) {
mainEditor.refresh();
} else {
// Load main editor
var el = document.getElementById("codifyme");
mainEditor = CodeMirror.fromTextArea(el, {
lineNumbers: true
});
mainEditor.setSize('100%', 50);
}
}
function initSecondaryCodeEditor() {
var $active = $('#code_mirror_editors > .active > a');
var $sec_tab = $($active.data('target'));
CodeMirror.fromTextArea($sec_tab.find('textarea')[0], {
lineNumbers: true
});
}
$(document).ready(function() {
// Only load editors if tab has been clicked
$('#maintabs > li …
Run Code Online (Sandbox Code Playgroud) 我正在尝试scroll past end
为codemirror添加插件,但是无法将其添加到我的codemirror实例中。
我试图scrollPastEnd: true
在选项中这样称呼它,但是那没有用。我也尝试使用该defineOption
功能,但控制台说是undefined
。
谢谢您的帮助
我正在尝试在 React/Redux/TS 应用程序中启用 react-codemirror 组件的 linting 插件。正常的 codemirror 工作正常,语法突出显示,行号等。但是,启用 linting 会在左侧为组件的 lint 消息添加额外的填充,但不显示任何消息。
我怀疑它的代码镜像 lint.js 代码没有加载,但我不确定为什么。相关代码片段如下:
import * as CodeMirror from 'react-codemirror';
import '../../../node_modules/codemirror/mode/javascript/javascript';
import '../../../node_modules/codemirror/addon/lint/lint';
import '../../../node_modules/codemirror/addon/lint/javascript-lint';
import '../../../node_modules/jshint/dist/jshint';
...
<CodeMirror
options={{
lineNumbers: true,
readOnly: false,
mode: 'javascript',
lint: true,
gutters: ['CodeMirror-lint-markers']
}}
/>
Run Code Online (Sandbox Code Playgroud)
有没有人能够让这个插件成功运行?
我正在尝试弄清楚如何为单元格内的CodeMirror支持的语言(cypher)激活CodeMirror语法高亮,以获得自定义Jupyter单元格魔术(%%mymagic
).魔法与特殊内核无关 - 它只运行Python命令来处理输入到我要突出显示的单元格中的字符串.据我所知,这表面上可以使用类似的东西来完成
from notebook.services.config.manager import ConfigManager
cm = ConfigManager()
cm.update('notebook', {'CodeCell': {'highlight_modes': {'magic_cypher': {'reg': '^%%mymagic'}}}})
Run Code Online (Sandbox Code Playgroud)
在实现魔法的类中.但是,我似乎无法让它工作; 当我在以开头的单元格中输入内容时,没有突出显示的变化%%mymagic
.上述方法准确吗?'magic_cypher'需要具有特定格式吗?魔术是否需要以某种方式指定CodeMirror与所需突出显示语言关联的MIME类型?我使用的是笔记本5.0.0,jupyter_core 4.3.0和python 2.7.13.
syntax-highlighting ipython codemirror ipython-notebook jupyter
codemirror ×10
javascript ×9
jquery ×2
html ×1
ipython ×1
jupyter ×1
react-redux ×1
reactjs ×1
typescript ×1