Last active
December 20, 2015 03:39
-
-
Save rameshvarun/6065037 to your computer and use it in GitHub Desktop.
Turn text areas in Django's admin console into ACE Editors.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{% load admin_static %}<!DOCTYPE html> | |
<html lang="{{ LANGUAGE_CODE|default:"en-us" }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}> | |
<head> | |
<title>{% block title %}{% endblock %}</title> | |
<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static "admin/css/base.css" %}{% endblock %}" /> | |
{% block extrastyle %}{% endblock %} | |
<!--[if lte IE 7]><link rel="stylesheet" type="text/css" href="{% block stylesheet_ie %}{% static "admin/css/ie.css" %}{% endblock %}" /><![endif]--> | |
{% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% static "admin/css/rtl.css" %}{% endblock %}" />{% endif %} | |
<script type="text/javascript">window.__admin_media_prefix__ = "{% filter escapejs %}{% static "admin/" %}{% endfilter %}";</script> | |
{% block extrahead %}{% endblock %} | |
{% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE" />{% endblock %} | |
</head> | |
{% load i18n %} | |
<body class="{% if is_popup %}popup {% endif %}{% block bodyclass %}{% endblock %}"> | |
<!-- Container --> | |
<div id="container"> | |
{% if not is_popup %} | |
<!-- Header --> | |
<div id="header"> | |
<div id="branding"> | |
{% block branding %}{% endblock %} | |
</div> | |
{% if user.is_active and user.is_staff %} | |
<div id="user-tools"> | |
{% trans 'Welcome,' %} | |
<strong>{% filter force_escape %}{% firstof user.get_short_name user.get_username %}{% endfilter %}</strong>. | |
{% block userlinks %} | |
{% url 'django-admindocs-docroot' as docsroot %} | |
{% if docsroot %} | |
<a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / | |
{% endif %} | |
{% if user.has_usable_password %} | |
<a href="{% url 'admin:password_change' %}">{% trans 'Change password' %}</a> / | |
{% endif %} | |
<a href="{% url 'admin:logout' %}">{% trans 'Log out' %}</a> | |
{% endblock %} | |
</div> | |
{% endif %} | |
{% block nav-global %}{% endblock %} | |
</div> | |
<!-- END Header --> | |
{% block breadcrumbs %} | |
<div class="breadcrumbs"> | |
<a href="{% url 'admin:index' %}">{% trans 'Home' %}</a> | |
{% if title %} › {{ title }}{% endif %} | |
</div> | |
{% endblock %} | |
{% endif %} | |
{% block messages %} | |
{% if messages %} | |
<ul class="messagelist">{% for message in messages %} | |
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li> | |
{% endfor %}</ul> | |
{% endif %} | |
{% endblock messages %} | |
<!-- Content --> | |
<div id="content" class="{% block coltype %}colM{% endblock %}"> | |
{% block pretitle %}{% endblock %} | |
{% block content_title %}{% if title %}<h1>{{ title }}</h1>{% endif %}{% endblock %} | |
{% block content %} | |
{% block object-tools %}{% endblock %} | |
{{ content }} | |
{% endblock %} | |
{% block sidebar %}{% endblock %} | |
<br class="clear" /> | |
</div> | |
<!-- END Content --> | |
{% block footer %}<div id="footer"></div>{% endblock %} | |
</div> | |
<!-- END Container --> | |
<script src="http://code.jquery.com/jquery.js"></script> | |
<script src="Load the ace.js file here." type="text/javascript" charset="utf-8"></script> | |
<script> | |
$(document).ready(function(){ | |
$('textarea').each(function (i, el) { | |
var $el = $(el); | |
var $container = $('<div/>').css({ | |
position: 'relative', | |
width: 1000, | |
height: 600 | |
}).insertAfter(el); | |
console.log($el.width()); | |
$el.hide(); | |
var editor = ace.edit($container[0]); | |
editor.setTheme('ace/theme/monokai'); | |
editor.getSession().setMode("ace/mode/html"); | |
editor.getSession().setValue($el.val()); | |
editor.getSession().on('change', function () { | |
$el.val(editor.getSession().getValue()); | |
}); | |
editor.getSession().setUseWrapMode(true); | |
}); | |
}); | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment