You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							508 lines
						
					
					
						
							16 KiB
						
					
					
				
			
		
		
	
	
							508 lines
						
					
					
						
							16 KiB
						
					
					
				| <!DOCTYPE html>
 | |
| <html lang="zh">
 | |
|     <head>
 | |
|         <meta charset="utf-8" />
 | |
|         <title>Chnage mode - Editor.md examples</title>
 | |
|         <link rel="stylesheet" href="css/style.css" />
 | |
|         <link rel="stylesheet" href="../css/editormd.css" />
 | |
|         <link rel="shortcut icon" href="https://pandao.github.io/editor.md/favicon.ico" type="image/x-icon" />
 | |
|         <style>
 | |
|             #codes textarea {display: none;}
 | |
|         </style>
 | |
|     </head>
 | |
|     <body>
 | |
|         <div id="layout">
 | |
|             <header>
 | |
|                 <h1>Chnage mode</h1>
 | |
|                 <p>Become to the code editor</p>
 | |
|                 <p>Modes : <select id="modes">
 | |
|                     <option value="">select modes</option>
 | |
|                 </select>  Themes : 
 | |
|                     <select id="themes">
 | |
|                         <option selected="selected" value="">select themes</option>
 | |
|                     </select>
 | |
|                 </p>
 | |
|             </header>
 | |
|             <div class="btns">
 | |
|                 <button id="get-code-btn">Get code source</button>
 | |
|                 <button id="fullscreen-btn">Fullscreen (Press F11 into, ESC exit)</button>
 | |
|             </div>
 | |
|             <div id="codes">
 | |
|             <textarea id="html-code"><!DOCTYPE html>
 | |
| <html lang="zh">
 | |
|     <head>
 | |
|         <meta charset="utf-8" />
 | |
|         <title>Chnage mode - Editor.md examples</title>
 | |
|         <link rel="stylesheet" href="css/style.css" />
 | |
|         <link rel="stylesheet" href="../css/editormd.css" />
 | |
|         <link rel="shortcut icon" href="https://pandao.github.io/editor.md/favicon.ico" type="image/x-icon" />
 | |
|     </head>
 | |
|     <body>
 | |
|         <div id="layout">
 | |
|             <header>
 | |
|                 <h1>Chnage mode</h1>
 | |
|             </header>
 | |
|             <div id="test-editormd">
 | |
|                 <textarea style="display:none;"></textarea>
 | |
|             </div>
 | |
|         </div>
 | |
|         <script src="js/jquery.min.js"></script>
 | |
|         <script src="../editormd.js"></script>
 | |
|         <script type="text/javascript">
 | |
|             $(function() {
 | |
|                 var testEditor = editormd("test-editormd", {
 | |
|                     width            : "90%",
 | |
|                     height           : 720,
 | |
|                     watch            : false,
 | |
|                     toolbar          : false,
 | |
|                     codeFold         : true,
 | |
|                     searchReplace    : true,
 | |
|                     placeholder      : "Enjoy coding!",
 | |
|                     value            : (localStorage.mode) ? $("#"+localStorage.mode.replace("text/", "")+"-code").val() : $("#html-code").val(),
 | |
|                     theme            : (localStorage.theme) ? localStorage.theme : "default",
 | |
|                     mode             : (localStorage.mode) ? localStorage.mode : "text/html",
 | |
|                     path             : '../lib/'
 | |
|                 });
 | |
|             });
 | |
|         </script>
 | |
|     </body>
 | |
| </html></textarea>
 | |
| <textarea id="javascript-code">$(function() {
 | |
|     var testEditor = editormd("test-editormd", {
 | |
|         width            : "90%",
 | |
|         height           : 720,
 | |
|         watch            : false,
 | |
|         toolbar          : false,
 | |
|         codeFold         : true,
 | |
|         searchReplace    : true,
 | |
|         placeholder      : "Enjoy coding!",
 | |
|         value            : (localStorage.mode) ? $("#"+localStorage.mode.replace("text/", "")+"-code").val() : $("#html-code").val(),
 | |
|         theme            : (localStorage.theme) ? localStorage.theme : "default",
 | |
|         mode             : (localStorage.mode) ? localStorage.mode : "text/html",
 | |
|         path             : '../lib/'
 | |
|     });
 | |
| });</textarea>
 | |
| <textarea id="xml-code"><?xml version="1.0" encoding="utf-8" ?>
 | |
| <root>
 | |
| 	<photo url="https://pandao.github.io/editor.md/examples/images/7.jpg">
 | |
| 		<title>李健首张专辑《似水流年》封面</title>
 | |
| 		<width>360</width>
 | |
| 		<height>360</height>
 | |
| 	</photo>
 | |
| 	<photo url="https://pandao.github.io/editor.md/examples/images/7.jpg">
 | |
| 		<title>李健首张专辑《似水流年》封面</title>
 | |
| 		<width>360</width>
 | |
| 		<height>360</height>
 | |
| 	</photo>
 | |
| 	<photo url="https://pandao.github.io/editor.md/examples/images/7.jpg">
 | |
| 		<title>李健首张专辑《似水流年》封面</title>
 | |
| 		<width>360</width>
 | |
| 		<height>360</height>
 | |
| 	</photo>
 | |
| </root></textarea>
 | |
| <textarea id="ruby-code">#!/usr/bin/ruby
 | |
| 
 | |
| puts "Hello World!";
 | |
|  
 | |
| # Ruby knows what you
 | |
| # mean, even if you
 | |
| # want to do math on
 | |
| # an entire Array
 | |
| cities  = %w[ London
 | |
|               Oslo
 | |
|               Paris
 | |
|               Amsterdam
 | |
|               Berlin ]
 | |
| visited = %w[Berlin Oslo]
 | |
| 
 | |
| puts "I still need " +
 | |
|      "to visit the " +
 | |
|      "following cities:",
 | |
|      cities - visited</textarea>
 | |
| <textarea id="json-code">{
 | |
|     "employees": [
 | |
|         {
 | |
|             "firstName" : "Bill",
 | |
|             "lastName" : "Gates"
 | |
|         },
 | |
|         {
 | |
|             "firstName" : "George",
 | |
|             "lastName" : "Bush"
 | |
|         },
 | |
|         {
 | |
|             "firstName" : "Thomas",
 | |
|             "lastName" : "Carter"
 | |
|         }
 | |
|     ],
 | |
|     "employees": [
 | |
|         {
 | |
|             "firstName" : "Bill",
 | |
|             "lastName" : "Gates"
 | |
|         },
 | |
|         {
 | |
|             "firstName" : "George",
 | |
|             "lastName" : "Bush"
 | |
|         },
 | |
|         {
 | |
|             "firstName" : "Thomas",
 | |
|             "lastName" : "Carter"
 | |
|         }
 | |
|     ],
 | |
| }</textarea>
 | |
| <textarea id="php-code"><?php
 | |
|     $app = new Phalcon\Mvc\Micro();
 | |
| 
 | |
|     //Set a route with the name "show-post"
 | |
|     $app->get('/blog/{year}/{title}', function ($year, $title) use ($app) {
 | |
| 
 | |
|         //.. show the post here
 | |
|         return $year.$title;
 | |
| 
 | |
|     })->setName('show-post');
 | |
| 
 | |
|     $app->get('/', function () {
 | |
|         echo "<h1>Welcome !</h1>";
 | |
| 
 | |
|         echo $app->url->get(array(
 | |
|             'for' => 'show-post',
 | |
|             'title' => 'php-is-a-great-framework',
 | |
|             'year' => 2012
 | |
|         ));
 | |
|     });
 | |
| 
 | |
|     $app->get('/posts/{year:[0-9]+}/{title:[a-zA-Z\-]+}', function ($year, $title) {
 | |
|         echo "<h1>Title: $title</h1>";
 | |
|         echo "<h2>Year: $year</h2>";
 | |
|     });
 | |
| 
 | |
|     //Requiring another file
 | |
|     $app->get('/show/results', function () {
 | |
|         require 'views/results.php';
 | |
|     });
 | |
| 
 | |
|     //Returning a JSON
 | |
|     $app->get('/get/some-json', function () {
 | |
|         echo json_encode(array("some", "important", "data"));
 | |
|     });
 | |
| 
 | |
|     //This route makes a redirection to another route
 | |
|     $app->post('/old/welcome', function () use ($app) {
 | |
|         $app->response->redirect("new/welcome");
 | |
|     });
 | |
| 
 | |
|     $app->post('/new/welcome', function () use ($app) {
 | |
|         echo 'This is the new Welcome';
 | |
|     });
 | |
| 
 | |
|     /*
 | |
|     //Matches if the HTTP method is POST
 | |
|     $app->post('/api/products/add', "add_product");
 | |
| 
 | |
|     //Matches if the HTTP method is PUT
 | |
|     $app->put('/api/products/update/{id}', "update_product");
 | |
| 
 | |
|     //Matches if the HTTP method is DELETE
 | |
|     $app->put('/api/products/remove/{id}', "delete_product");
 | |
| 
 | |
|     //Matches if the HTTP method is GET or POST
 | |
|     $app->map('/repos/store/refs')->via(array('GET', 'POST'));
 | |
|     */
 | |
| 
 | |
|     $app->handle();
 | |
| ?></textarea>
 | |
| <textarea id="cpp-code">#include "dialog.h"
 | |
| #include <QApplication>
 | |
| 
 | |
| int main(int argc, char *argv[])
 | |
| {
 | |
|     QApplication a(argc, argv);
 | |
|     Dialog w;
 | |
|     w.show();
 | |
| 
 | |
|     return a.exec();
 | |
| }</textarea>
 | |
| <textarea id="java-code">package com.demo.blog;
 | |
| 
 | |
| import com.jfinal.aop.Before;
 | |
| import com.jfinal.core.Controller;
 | |
| 
 | |
| @Before(BlogInterceptor.class)
 | |
| public class BlogController extends Controller {
 | |
| 	public void index() {
 | |
| 		setAttr("blogPage", Blog.me.paginate(getParaToInt(0, 1), 10));
 | |
| 		render("blog.html");
 | |
| 	}
 | |
| 
 | |
| 	public void add() {
 | |
| 	}
 | |
| 
 | |
| 	@Before(BlogValidator.class)
 | |
| 	public void save() {
 | |
| 		getModel(Blog.class).save();
 | |
| 		redirect("/blog");
 | |
| 	}
 | |
| 
 | |
| 	public void edit() {
 | |
| 		setAttr("blog", Blog.me.findById(getParaToInt()));
 | |
| 	}
 | |
| 
 | |
| 	@Before(BlogValidator.class)
 | |
| 	public void update() {
 | |
| 		getModel(Blog.class).update();
 | |
| 		redirect("/blog");
 | |
| 	}
 | |
| 
 | |
| 	public void delete() {
 | |
| 		Blog.me.deleteById(getParaToInt());
 | |
| 		redirect("/blog");
 | |
| 	}
 | |
| }
 | |
| </textarea>
 | |
| <textarea id="actionscript-code">package com.flite
 | |
| {
 | |
| 	import flash.net.*;
 | |
| 	import flash.events.*;
 | |
| 	import flash.display.*;
 | |
| 
 | |
| 	/**
 | |
| 	 * @package com.flite
 | |
| 	 * @class   XMLLoader
 | |
| 	 * @author  pandao pandao@vip.qq.com
 | |
| 	 */
 | |
| 
 | |
| 	public class XMLLoder
 | |
| 	{
 | |
| 		public var xml:XML;
 | |
| 		public var url:String;
 | |
| 		public var list:XMLList;
 | |
| 		public var percent:Number = 0;
 | |
| 		public var onload:Function;
 | |
| 		public var onerror:Function;
 | |
| 		public var onpreload:Function;
 | |
| 		public var onprogress:Function;
 | |
| 
 | |
| 		private var loader:URLLoader;
 | |
| 
 | |
| 		public function XMLLoder(url:String) : void
 | |
| 		{
 | |
| 			this.url = url;
 | |
| 
 | |
| 			xml = new XML();
 | |
| 			xml.ignoreWhite = true;
 | |
| 
 | |
|             loader = new URLLoader();
 | |
|             loader.load(new URLRequest(url));
 | |
| 			loader.addEventListener(Event.OPEN, preloadHandler);
 | |
| 			loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
 | |
| 			loader.addEventListener(ProgressEvent.PROGRESS, progressHandler);
 | |
|             loader.addEventListener(Event.COMPLETE, loadedHandler);
 | |
| 		}
 | |
| 
 | |
| 		private function preloadHandler(event:Event) : void
 | |
|         {
 | |
| 			onpreload = onpreload || new Function;
 | |
| 			onpreload(event);
 | |
| 		}
 | |
| 
 | |
| 		private function errorHandler(event:IOErrorEvent) : void
 | |
| 		{
 | |
| 			onerror = onerror || new Function;
 | |
| 			onerror(event);
 | |
| 		}
 | |
| 
 | |
| 		private function progressHandler(event:ProgressEvent) : void
 | |
| 		{
 | |
| 			percent = Math.round((event.bytesLoaded / event.bytesTotal) * 100);
 | |
| 
 | |
| 			onprogress = onprogress || new Function;
 | |
| 			onprogress(event, percent);
 | |
| 		}
 | |
| 
 | |
| 		private function loadedHandler(event:Event) : void
 | |
| 		{
 | |
| 			xml = XML(loader.data);
 | |
| 
 | |
| 			onload = onload || new Function;
 | |
| 			onload(xml);
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| }</textarea><textarea id="perl-code">#!/usr/bin/perl
 | |
| use strict;
 | |
| use warnings;
 | |
| 
 | |
| print "Hello, World...\n";
 | |
| </textarea>
 | |
|            <textarea id="go-code">package main
 | |
| 
 | |
| import (
 | |
|     "github.com/astaxie/beego"
 | |
| )
 | |
| 
 | |
| type MainController struct {
 | |
|     beego.Controller
 | |
| }
 | |
| 
 | |
| func (this *MainController) Get() {
 | |
|     this.Ctx.WriteString("hello world")
 | |
| }
 | |
| 
 | |
| func main() {
 | |
|     beego.Router("/", &MainController{})
 | |
|     beego.Run()
 | |
| }</textarea><textarea id="python-code">#!/usr/bin/env python
 | |
| 
 | |
| from flask import Flask
 | |
| app = Flask(__name__)
 | |
| 
 | |
| @app.route('/')
 | |
| def hello_world():
 | |
|     return 'Hello World!'
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     app.run()</textarea>
 | |
|            <textarea id="css-code">    body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,
 | |
|     th,td,hr,button,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
 | |
|         margin:0;padding:0;
 | |
|     }
 | |
| 
 | |
|     article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
 | |
|         display: block;
 | |
|     }
 | |
| 
 | |
|     audio, canvas, video {
 | |
|         display: inline-block;
 | |
|     }
 | |
| 
 | |
|     body, button, input, select, textarea {
 | |
|         font:12px/1.5 Tahoma, "Hiragino Sans GB", "Microsoft Yahei", Arial;
 | |
|     }
 | |
| 
 | |
|     body {
 | |
|         font-size:12px;
 | |
|         color:#666;
 | |
|         background:#fff url(../images/) no-repeat left top;
 | |
|     }
 | |
| 
 | |
|     a {
 | |
|         color:#444;
 | |
|         text-decoration: none;
 | |
|     }
 | |
| 
 | |
|     a:hover {
 | |
|         color:#065BC2;
 | |
|         text-decoration: none;
 | |
|     }
 | |
| 
 | |
|     .clear {
 | |
|         zoom:1;
 | |
|     }
 | |
| 
 | |
|     .clear:after {
 | |
|         content:"";
 | |
|         height:0;
 | |
|         visibility:hidden;
 | |
|         clear:both;
 | |
|         display:block;
 | |
|     }
 | |
| 
 | |
|     img {
 | |
|         border:none;
 | |
|         vertical-align: middle;
 | |
|     }
 | |
| 
 | |
|     ul {
 | |
|         list-style: none;
 | |
|     }</textarea></div>
 | |
|             <div id="test-editormd">
 | |
|                 <textarea style="display:none;"></textarea>
 | |
|             </div>
 | |
|         </div>
 | |
|         <script src="js/jquery.min.js"></script>
 | |
|         <script src="../editormd.js"></script>
 | |
|         <script type="text/javascript">
 | |
|             var testEditor;
 | |
|             
 | |
|             function getCodeValue() {
 | |
|                 return (localStorage.modeName) ? $("#"+localStorage.modeName.replace("text/", "").replace("c/c++", "cpp")+"-code").val() : $("#html-code").val();
 | |
|             }
 | |
|             
 | |
|             $(function() {
 | |
|                 testEditor = editormd("test-editormd", {
 | |
|                     width            : "90%",
 | |
|                     height           : 720,
 | |
|                     watch            : false,
 | |
|                     toolbar          : false,
 | |
|                     codeFold         : true,
 | |
|                     searchReplace    : true,
 | |
|                     placeholder      : "Enjoy coding!",
 | |
|                     value            : getCodeValue(),
 | |
|                     theme            : (localStorage.theme) ? localStorage.theme : "default",
 | |
|                     mode             : (localStorage.mode) ? localStorage.mode : "text/html",
 | |
|                     path             : '../lib/'
 | |
|                 });
 | |
| 
 | |
|                 $("#get-code-btn").bind("click", function() {
 | |
|                     alert(testEditor.getValue());
 | |
|                 });
 | |
| 
 | |
|                 $("#fullscreen-btn").bind("click", function() {
 | |
|                     testEditor.fullscreen();
 | |
|                 });
 | |
|                 
 | |
|                 var select = $("#themes");
 | |
|                 
 | |
|                 for (var i = 0, len = editormd.themes.length; i < len; i ++)
 | |
|                 {                    
 | |
|                     var theme    = editormd.themes[i];
 | |
|                     var selected = (localStorage.theme == theme) ? " selected=\"selected\"" : "";
 | |
|                     select.append("<option value=\"" + theme + "\"" + selected + ">" + theme + "</option>");
 | |
|                 }
 | |
|                 
 | |
|                 select.change(function(){
 | |
|                     var theme = $(this).val();
 | |
|                     
 | |
|                     if (theme == "")
 | |
|                     {
 | |
|                         alert("theme == \"\"");
 | |
|                         return false;
 | |
|                     }
 | |
|                     
 | |
|                     localStorage.theme = theme;
 | |
|                     testEditor.setTheme(theme);
 | |
|                 });   
 | |
|                 
 | |
|                 var modesSelect = $("#modes");
 | |
|                 var modeNames = ["text/html", "javascript", "php", "text/xml", "text/json", "java", "actionscript", "perl", "go", "python", "c/c++", "css", "ruby"];
 | |
|                 var modes     = ["text/html", "javascript", "php", "text/xml", "text/json", "clike", "javascript", "perl", "go", "python", "clike", "css", "ruby"];
 | |
|                 
 | |
|                 for (var i = 0, len = modes.length; i < len; i ++)
 | |
|                 {                    
 | |
|                     var mode    = modes[i];
 | |
|                     var selected = (localStorage.modeName == modeNames[i]) ? " selected=\"selected\"" : "";
 | |
|                     modesSelect.append("<option value=\"" + mode + "\"" + selected + " name=\"" + modeNames[i] + "\"" + selected + ">" + modeNames[i] + "</option>");
 | |
|                 }
 | |
|                 
 | |
|                 modesSelect.change(function(){
 | |
|                     var mode = $(this).val();
 | |
|                     var modeName = $(this).find("option:selected").attr("name");
 | |
|                     
 | |
|                     if (mode == "")
 | |
|                     {
 | |
|                         alert("mode == \"\"");
 | |
|                         return false;
 | |
|                     }
 | |
|                     
 | |
|                     localStorage.mode     = mode;
 | |
|                     localStorage.modeName = modeName;
 | |
|                     
 | |
|                     var code = getCodeValue();
 | |
|                     
 | |
|                     testEditor.setCodeMirrorOption("mode", mode);
 | |
|                     //testEditor.setCodeMirrorOption("value", code);
 | |
|                     testEditor.setValue(code);
 | |
|                 });  
 | |
|             });
 | |
|         </script>
 | |
|     </body>
 | |
| </html> |