Commit be5003f5 authored by Hermann Mayer's avatar Hermann Mayer

Page New/Edit uses now the Ace Editor with working preview. Default Page Viewer…

Page New/Edit uses now the Ace Editor with working preview. Default Page Viewer now uses the Editor format action to use markdown.
parent 4bc19909
......@@ -70,3 +70,7 @@ Build Assetics
php app/console assetic:dump --env=prod --no-debug
Link Assetics
php app/console assets:install --symlink
......@@ -17,6 +17,13 @@
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
{% javascripts
'@JityHomepageBundle/Resources/public/js/essentials/*.js'
filter='?closure'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
</head>
<body>
......@@ -187,9 +194,9 @@
<a target="_blank" href="http://projects.hermann-mayer.net/">Chiliprojects</a> und
<a target="_blank" href="http://ebay-tool.hermann-mayer.net/">eBay Tool</a>.
Allgemeine Informationen können Sie aus folgenden Quellen beziehen:
<a target="_blank" href="#">Impressum</a>,
<a target="_blank" href="#">Über mich</a> und
<a target="_blank" href="#">Kontakt</a>.
<a target="_blank" href="{{ path('impress') }}">Impressum</a>,
<a target="_blank" href="{{ path('home') }}">Über mich</a> und
<a target="_blank" href="{{ path('contact') }}">Kontakt</a>.
</small></p>
</div>
</div>
......
deploy @ f8e2ecdd
Subproject commit d7d36acf696d61fbf1cd46da907e95e187dba900
Subproject commit f8e2ecdd5ad7c5c197aa208938135e3c65e768e9
......@@ -22,19 +22,24 @@ class EditorController extends Controller
* @access public
* @return void
*/
public function formatAction(Request $request)
public function formatAction(Request $request, $text)
{
// Get markdown parser service
$parser = $this->container->get('markdown.parser');
// Get 'text' variable from POST
$text = $request->request->get('text');
if (empty($text)) {
// Get 'text' variable from POST
$text = $request->request->get('text');
}
// Parse the requested data
$html = $parser->transform($text);
// Response the parsed data
return new Response($html, 200);
return $this->render('JityHomepageBundle:Editor:format.html.twig', array(
'content' => $html
));
}
/**
......
......@@ -21,41 +21,36 @@ class LoadDevData extends AbstractFixture implements OrderedFixtureInterface
->setSlug('home')
->setTitle('Über mich')
->setContent('<img src="{{ asset("bundles/jityhomepage/img/myself-cc3-300px.png") }}" alt="" class="img-polaroid pull-left" />
<p>
Mein Name ist Hermann Mayer, ich wurde am 02. August im Jahre 1992 in Berlin geboren und bin
in einem kleinen Örtchen Namens Augsdorf, dass im ehemaligen Mansfelder Land liegt, aufgewachsen.
</p>
<p>
Heute heißt dieser Landkreis, in Sachsen-Anhalt, Mansfeld-Südharz. Eine frohe und aufgeschlossene
Natur wurde mir in die Wiege gelegt und diese habe ich mir bis heute erhalten können, nicht
zuletzt auch durch die Art und Weise wie ich manche Dinge bewerte und durch die Fähigkeit mich
selbst nicht immer zu ernst zu nehmen.
</p>
<p>
Verschiedene Hobbys haben sich im Laufe meines Lebens heraus kristallisiert, dazu gehört das
leidenschaftliche Motorradfahren, das Programmieren und Verwirklichen von Projekten in meiner
Freizeit, sowie der Drang meine Kreativität durch Gedichte oder Digitale Kunst auszudrücken.
Ich habe die Angewohnheit meine Umwelt genau zu beobachten und zu analysieren, auch völlig
unbewusst. Dies ist oftmals auch eine Quelle für Inspirationen, jeglicher Art.
</p>
<p>
Des Weiteren bin ich ein Mensch der Musik liebt, und sie braucht. Ich habe fast immer Musik an,
egal ob Radio oder Alben meiner Lieblings Interpreten, sei es Unterwegs per N900 oder zu Hause mit
der dortigen Workstation. Musik trägt zu meiner Entspannung bei, fördert aber auch die
Konzentrationsfähigkeit in meinem Falle. Eine weitere Eigenheit von mir ist der unerschöpfliche
Wunsch nach Wissen, wenn mich etwas interessiert erkunde ich es tiefgründig. Ich verbringe
dadurch viele Stunden meines Tages mit dem Lesen von Büchern (digitaler oder gedruckter Art)
oder dem recherchieren im Internet.
</p>
<p>
Zudem liebe ich es zu Planen und zu Organisieren. Manchmal verbringe ich Tage mit der gedanklichen
Ausgestaltung eines Planes, der in Jahren, Jahrzehnten oder nie zum Einsatz kommen wird. Außerdem
bin ich kontaktfreudig, wortgewandt und tolerant in jedem Aspekt. Meine Art ist direkt und offen,
ich sage was ich denke, auch wenn es nicht immer das ist was andere gern hören wollen. Trotzdem
pflege ich meine sozialen Kontakte und Bindungen und versuche mich in die Probleme anderer
hineinzudenken um sie zu verstehen. Zudem bin ich hilfsbereit, selbst wenn dies für mich
zusätzliche Arbeit bedeutet.
</p>')
Mein Name ist Hermann Mayer, ich wurde am 02. August im Jahre 1992 in Berlin geboren und bin
in einem kleinen Örtchen Namens Augsdorf, dass im ehemaligen Mansfelder Land liegt, aufgewachsen.
Heute heißt dieser Landkreis, in Sachsen-Anhalt, Mansfeld-Südharz. Eine frohe und aufgeschlossene
Natur wurde mir in die Wiege gelegt und diese habe ich mir bis heute erhalten können, nicht
zuletzt auch durch die Art und Weise wie ich manche Dinge bewerte und durch die Fähigkeit mich
selbst nicht immer zu ernst zu nehmen.
Verschiedene Hobbys haben sich im Laufe meines Lebens heraus kristallisiert, dazu gehört das
leidenschaftliche Motorradfahren, das Programmieren und Verwirklichen von Projekten in meiner
Freizeit, sowie der Drang meine Kreativität durch Gedichte oder Digitale Kunst auszudrücken.
Ich habe die Angewohnheit meine Umwelt genau zu beobachten und zu analysieren, auch völlig
unbewusst. Dies ist oftmals auch eine Quelle für Inspirationen, jeglicher Art.
Des Weiteren bin ich ein Mensch der Musik liebt, und sie braucht. Ich habe fast immer Musik an,
egal ob Radio oder Alben meiner Lieblings Interpreten, sei es Unterwegs per N900 oder zu Hause mit
der dortigen Workstation. Musik trägt zu meiner Entspannung bei, fördert aber auch die
Konzentrationsfähigkeit in meinem Falle. Eine weitere Eigenheit von mir ist der unerschöpfliche
Wunsch nach Wissen, wenn mich etwas interessiert erkunde ich es tiefgründig. Ich verbringe
dadurch viele Stunden meines Tages mit dem Lesen von Büchern (digitaler oder gedruckter Art)
oder dem recherchieren im Internet.
Zudem liebe ich es zu Planen und zu Organisieren. Manchmal verbringe ich Tage mit der gedanklichen
Ausgestaltung eines Planes, der in Jahren, Jahrzehnten oder nie zum Einsatz kommen wird. Außerdem
bin ich kontaktfreudig, wortgewandt und tolerant in jedem Aspekt. Meine Art ist direkt und offen,
ich sage was ich denke, auch wenn es nicht immer das ist was andere gern hören wollen. Trotzdem
pflege ich meine sozialen Kontakte und Bindungen und versuche mich in die Probleme anderer
hineinzudenken um sie zu verstehen. Zudem bin ich hilfsbereit, selbst wenn dies für mich
zusätzliche Arbeit bedeutet.
')
->setCategory($this->getReference('default-category'))
->setSidebar($this->getReference('default-sidebar'))
->setNavigation($this->getReference('default-navigation'))
......
editor_format:
pattern: /format
defaults: { _controller: JityHomepageBundle:Editor:format }
defaults: { _controller: JityHomepageBundle:Editor:format, text: '' }
requirements: { _method: post }
......@@ -156,12 +156,19 @@ p {
margin-top: 10px;
}
@media (max-width: 979px) {
@media (max-width: 767px) {
#sidebar {
border-left: none;
padding-left: 0px;
margin-left: 0px;
border-top: 2px solid #722C0F;
margin-top: 20px;
}
}
@media (max-width: 979px) {
.hero-unit .btn {
margin-top: 15px;
......@@ -286,5 +293,28 @@ input::-moz-focus-inner, button::-moz-focus-inner {
border: 0;
}
#previewCage {
border-top: 2px solid #722C0F;
margin-top: 20px;
background-color: #151515;
border-radius: 6px 6px 6px 6px;
margin-bottom: 30px;
padding: 60px;
display: none;
}
pre {
background-color: #282624;
color: #8F8F8F;
}
hr {
border: none;
color: #722C0F;
background-color: #722C0F;
height: 2px;
}
......@@ -2,7 +2,7 @@
{% block layout_content %}
{{ eval(page.content)|raw }}
{% render 'JityHomepageBundle:Editor:format' with {'text': page.content } %}
{% endblock %}
<div class="modal hide fade" id="editor_modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal hide fade" id="editor_modal" tabindex="-1" role="dialog" aria-labelledby="editor_label" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">{{ title|raw }}</h3>
<h3 id="editor_label">{{ title|raw }}</h3>
</div>
<div class="modal-body">
<div id="editor"></div>
</div>
<div class="modal-footer">
<button class="btn btn-primary"><i class="icon-pencil icon-white"></i> Änderung speichern</button>
<button class="btn btn-primary" onclick="$('#editor_modal').modal('hide');"><i class="icon-pencil icon-white"></i> Änderung speichern</button>
</div>
</div>
......@@ -15,26 +15,36 @@
<script type="text/javascript">
var readyStateCheckInterval = setInterval(function() {
$(document).ready(function() {
if (document.readyState === "complete") {
// Build new Editor instance
var editor = ace.edit("editor");
editor.setTheme("ace/theme/tomorrow_night");
editor.getSession().setMode("ace/mode/{{ mode }}");
var editor = ace.edit("editor");
editor.setTheme("ace/theme/tomorrow_night");
editor.getSession().setMode("ace/mode/{{ mode }}");
// Event hook for displaying
$('#editor_modal').on('shown', function () {
document.getElementById('editor').style.fontSize='14px';
// Focus on editor on modal show
editor.focus();
var textarea = $('{{ syncElement|raw }}');
editor.getSession().setValue(textarea.val());
// To count total no. of lines
var lines = editor.getSession().getValue().split("\n").length;
editor.getSession().on('change', function(){
textarea.val(editor.getSession().getValue());
});
// Go to end of document
editor.gotoLine(lines);
});
clearInterval(readyStateCheckInterval);
}
}, 10);
// Sync editor with textarea
document.getElementById('editor').style.fontSize='14px';
var textarea = $('{{ syncElement|raw }}');
editor.getSession().setValue(textarea.val());
editor.getSession().on('change', function(){
textarea.val(editor.getSession().getValue());
});
});
</script>
......@@ -21,6 +21,11 @@
Zurück zur Liste
</a>
<a href="#" id="previewBtn" class="btn btn-danger">
<i class="icon-eye-open icon-white"></i>
Vorschau
</a>
<a href="javascript:document.delete_form.submit();" class="btn btn-danger">
<i class="icon-remove icon-white"></i>
Löschen
......@@ -34,5 +39,31 @@
{{ form_widget(delete_form) }}
</form>
{% render 'JityHomepageBundle:Editor:build' with {'syncElement': 'textarea[name="jity_homepagebundle_pagetype[content]"]'} %}
<a name="preview"></a>
<div id="previewCage"></div>
<script type="text/javascript">
$(document).ready(function() {
$('#previewBtn').click(function (){
$.post(
'{{ path('editor_format') }}',
{text: $('#jity_homepagebundle_pagetype_content').val()},
function(data) {
$('#previewCage').html(data).css('display', 'block');
$('html,body').animate({scrollTop: $("a[name=preview]").offset().top},'slow');
});
return false;
});
});
</script>
{% endblock %}
......@@ -22,11 +22,40 @@
<i class="icon-share-alt icon-white"></i>
Zurück zur Liste
</a>
<a href="#" id="previewBtn" class="btn btn-danger">
<i class="icon-eye-open icon-white"></i>
Vorschau
</a>
</div>
</form>
{% render 'JityHomepageBundle:Editor:build' with {'syncElement': 'textarea[name="jity_homepagebundle_pagetype[content]"]'} %}
<a name="preview"></a>
<div id="previewCage"></div>
<script type="text/javascript">
$(document).ready(function() {
$('#previewBtn').click(function (){
$.post(
'{{ path('editor_format') }}',
{text: $('#jity_homepagebundle_pagetype_content').val()},
function(data) {
$('#previewCage').html(data).css('display', 'block');
$('html,body').animate({scrollTop: $("a[name=preview]").offset().top},'slow');
});
return false;
});
});
</script>
{% endblock %}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment