From 17718732cce40bd6aacabd14644f4233c2d6fc87 Mon Sep 17 00:00:00 2001 From: life Date: Tue, 9 Dec 2014 23:17:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BD=E9=99=85=E5=8C=96,=20#21,=20#26,?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/NoteController.go | 76 +- .../member/MemberGroupController.go | 2 +- app/service/GroupService.go | 5 +- app/views/member/blog/add_single.html | 10 +- app/views/member/blog/base.html | 22 +- app/views/member/blog/cate.html | 18 +- app/views/member/blog/comment.html | 2 +- app/views/member/blog/list.html | 18 +- app/views/member/blog/paging.html | 44 +- app/views/member/blog/single.html | 10 +- app/views/member/blog/theme.html | 35 +- app/views/member/blog/update_theme.html | 31 +- app/views/member/group/index.html | 24 +- app/views/member/index.html | 5 +- app/views/member/nav.html | 51 +- app/views/member/top.html | 4 +- app/views/member/user/add_account.html | 4 +- app/views/member/user/avatar.html | 6 +- app/views/member/user/email.html | 4 +- app/views/member/user/password.html | 6 +- app/views/member/user/username.html | 4 +- app/views/note/note-dev.html | 83 +- app/views/note/note.html | 83 +- messages/msg.en | 95 +- messages/msg.zh | 89 + public/css/css/editor-writting-mode.css | 15 + public/css/css/editor.css | 27 + public/css/css/writting-overwrite.css | 1927 +++++++++++++++++ public/css/theme/basic.less | 29 +- public/css/theme/default.css | 34 +- public/css/theme/mobile.less | 11 +- public/css/theme/simple.css | 34 +- public/css/theme/writting-overwrite.css | 24 + public/css/theme/writting.css | 24 + public/js/all.js | 2 +- public/js/app/note-min.js | 2 +- public/js/app/note.js | 127 +- public/js/app/notebook-min.js | 2 +- public/js/app/notebook.js | 178 +- public/js/app/page-min.js | 2 +- public/js/app/page.js | 215 +- public/js/app/share-min.js | 2 +- public/js/app/share.js | 64 +- public/js/common-min.js | 2 +- public/js/common.js | 43 +- public/member/css/member.less | 2 +- public/member/js/ace/ck/ace-min.js | 11 + public/member/js/ace/ck/ext-beautify-min.js | 1 + public/member/js/ace/ck/ext-chromevox-min.js | 1 + .../ace/ck/ext-elastic_tabstops_lite-min.js | 1 + public/member/js/ace/ck/ext-emmet-min.js | 1 + .../member/js/ace/ck/ext-error_marker-min.js | 1 + .../js/ace/ck/ext-keybinding_menu-min.js | 1 + .../js/ace/ck/ext-language_tools-min.js | 1 + public/member/js/ace/ck/ext-linking-min.js | 1 + public/member/js/ace/ck/ext-modelist-min.js | 1 + public/member/js/ace/ck/ext-old_ie-min.js | 1 + public/member/js/ace/ck/ext-prompt-min.js | 1 + public/member/js/ace/ck/ext-searchbox-min.js | 1 + .../member/js/ace/ck/ext-settings_menu-min.js | 1 + public/member/js/ace/ck/ext-spellcheck-min.js | 1 + public/member/js/ace/ck/ext-split-min.js | 1 + .../js/ace/ck/ext-static_highlight-min.js | 1 + public/member/js/ace/ck/ext-statusbar-min.js | 1 + public/member/js/ace/ck/ext-textarea-min.js | 1 + public/member/js/ace/ck/ext-themelist-min.js | 1 + public/member/js/ace/ck/ext-whitespace-min.js | 1 + .../member/js/ace/ck/keybinding-emacs-min.js | 1 + public/member/js/ace/ck/keybinding-vim-min.js | 1 + public/member/js/ace/ck/mode-abap-min.js | 1 + .../member/js/ace/ck/mode-actionscript-min.js | 1 + public/member/js/ace/ck/mode-ada-min.js | 1 + .../member/js/ace/ck/mode-apache_conf-min.js | 1 + .../member/js/ace/ck/mode-applescript-min.js | 1 + public/member/js/ace/ck/mode-asciidoc-min.js | 1 + .../member/js/ace/ck/mode-assembly_x86-min.js | 1 + .../member/js/ace/ck/mode-autohotkey-min.js | 2 + public/member/js/ace/ck/mode-batchfile-min.js | 1 + public/member/js/ace/ck/mode-c9search-min.js | 1 + public/member/js/ace/ck/mode-c_cpp-min.js | 1 + public/member/js/ace/ck/mode-cirru-min.js | 1 + public/member/js/ace/ck/mode-clojure-min.js | 1 + public/member/js/ace/ck/mode-cobol-min.js | 1 + public/member/js/ace/ck/mode-coffee-min.js | 1 + .../member/js/ace/ck/mode-coldfusion-min.js | 2 + public/member/js/ace/ck/mode-csharp-min.js | 1 + public/member/js/ace/ck/mode-css-min.js | 1 + public/member/js/ace/ck/mode-curly-min.js | 2 + public/member/js/ace/ck/mode-d-min.js | 1 + public/member/js/ace/ck/mode-dart-min.js | 1 + public/member/js/ace/ck/mode-diff-min.js | 1 + public/member/js/ace/ck/mode-django-min.js | 2 + .../member/js/ace/ck/mode-dockerfile-min.js | 1 + public/member/js/ace/ck/mode-dot-min.js | 1 + public/member/js/ace/ck/mode-ejs-min.js | 2 + public/member/js/ace/ck/mode-erlang-min.js | 1 + public/member/js/ace/ck/mode-forth-min.js | 1 + public/member/js/ace/ck/mode-ftl-min.js | 1 + public/member/js/ace/ck/mode-gherkin-min.js | 1 + public/member/js/ace/ck/mode-glsl-min.js | 1 + public/member/js/ace/ck/mode-golang-min.js | 1 + public/member/js/ace/ck/mode-groovy-min.js | 1 + public/member/js/ace/ck/mode-haml-min.js | 1 + .../member/js/ace/ck/mode-handlebars-min.js | 2 + public/member/js/ace/ck/mode-haskell-min.js | 1 + public/member/js/ace/ck/mode-haxe-min.js | 1 + public/member/js/ace/ck/mode-html-min.js | 2 + .../js/ace/ck/mode-html_completions-min.js | 1 + public/member/js/ace/ck/mode-html_ruby-min.js | 2 + public/member/js/ace/ck/mode-ini-min.js | 1 + public/member/js/ace/ck/mode-jack-min.js | 1 + public/member/js/ace/ck/mode-jade-min.js | 2 + public/member/js/ace/ck/mode-java-min.js | 1 + .../member/js/ace/ck/mode-javascript-min.js | 1 + public/member/js/ace/ck/mode-json-min.js | 1 + public/member/js/ace/ck/mode-jsoniq-min.js | 3 + public/member/js/ace/ck/mode-jsp-min.js | 2 + public/member/js/ace/ck/mode-jsx-min.js | 1 + public/member/js/ace/ck/mode-julia-min.js | 1 + public/member/js/ace/ck/mode-latex-min.js | 1 + public/member/js/ace/ck/mode-less-min.js | 1 + public/member/js/ace/ck/mode-liquid-min.js | 1 + public/member/js/ace/ck/mode-lisp-min.js | 1 + .../member/js/ace/ck/mode-livescript-min.js | 1 + public/member/js/ace/ck/mode-logiql-min.js | 1 + public/member/js/ace/ck/mode-lsl-min.js | 1 + public/member/js/ace/ck/mode-lua-min.js | 1 + public/member/js/ace/ck/mode-luapage-min.js | 2 + public/member/js/ace/ck/mode-lucene-min.js | 1 + public/member/js/ace/ck/mode-makefile-min.js | 1 + public/member/js/ace/ck/mode-markdown-min.js | 2 + public/member/js/ace/ck/mode-matlab-min.js | 1 + public/member/js/ace/ck/mode-mel-min.js | 1 + public/member/js/ace/ck/mode-mushcode-min.js | 1 + .../js/ace/ck/mode-mushcode_high_rules-min.js | 1 + public/member/js/ace/ck/mode-mysql-min.js | 1 + public/member/js/ace/ck/mode-nix-min.js | 1 + .../member/js/ace/ck/mode-objectivec-min.js | 2 + public/member/js/ace/ck/mode-ocaml-min.js | 1 + public/member/js/ace/ck/mode-pascal-min.js | 1 + public/member/js/ace/ck/mode-perl-min.js | 1 + public/member/js/ace/ck/mode-pgsql-min.js | 2 + public/member/js/ace/ck/mode-php-min.js | 3 + .../member/js/ace/ck/mode-plain_text-min.js | 1 + .../member/js/ace/ck/mode-powershell-min.js | 1 + public/member/js/ace/ck/mode-prolog-min.js | 1 + .../member/js/ace/ck/mode-properties-min.js | 1 + public/member/js/ace/ck/mode-protobuf-min.js | 1 + public/member/js/ace/ck/mode-python-min.js | 1 + public/member/js/ace/ck/mode-r-min.js | 1 + public/member/js/ace/ck/mode-rdoc-min.js | 1 + public/member/js/ace/ck/mode-rhtml-min.js | 2 + public/member/js/ace/ck/mode-ruby-min.js | 1 + public/member/js/ace/ck/mode-rust-min.js | 1 + public/member/js/ace/ck/mode-sass-min.js | 1 + public/member/js/ace/ck/mode-scad-min.js | 1 + public/member/js/ace/ck/mode-scala-min.js | 1 + public/member/js/ace/ck/mode-scheme-min.js | 1 + public/member/js/ace/ck/mode-scss-min.js | 1 + public/member/js/ace/ck/mode-sh-min.js | 1 + public/member/js/ace/ck/mode-sjs-min.js | 1 + public/member/js/ace/ck/mode-smarty-min.js | 2 + public/member/js/ace/ck/mode-snippets-min.js | 1 + .../member/js/ace/ck/mode-soy_template-min.js | 2 + public/member/js/ace/ck/mode-space-min.js | 1 + public/member/js/ace/ck/mode-sql-min.js | 1 + public/member/js/ace/ck/mode-stylus-min.js | 1 + public/member/js/ace/ck/mode-svg-min.js | 2 + public/member/js/ace/ck/mode-tcl-min.js | 1 + public/member/js/ace/ck/mode-tex-min.js | 1 + public/member/js/ace/ck/mode-textile-min.js | 1 + public/member/js/ace/ck/mode-toml-min.js | 1 + public/member/js/ace/ck/mode-twig-min.js | 2 + .../member/js/ace/ck/mode-typescript-min.js | 1 + public/member/js/ace/ck/mode-vala-min.js | 1 + public/member/js/ace/ck/mode-vbscript-min.js | 1 + public/member/js/ace/ck/mode-verilog-min.js | 1 + public/member/js/ace/ck/mode-vhdl-min.js | 1 + public/member/js/ace/ck/mode-xml-min.js | 1 + public/member/js/ace/ck/mode-yaml-min.js | 1 + public/member/js/ace/mode-abap.js | 1 + public/member/js/ace/mode-actionscript.js | 1 + public/member/js/ace/mode-ada.js | 1 + public/member/js/ace/mode-apache_conf.js | 1 + public/member/js/ace/mode-applescript.js | 1 + public/member/js/ace/mode-asciidoc.js | 1 + public/member/js/ace/mode-assembly_x86.js | 1 + public/member/js/ace/mode-autohotkey.js | 1 + public/member/js/ace/mode-batchfile.js | 1 + public/member/js/ace/mode-c9search.js | 1 + public/member/js/ace/mode-c_cpp.js | 1 + public/member/js/ace/mode-cirru.js | 1 + public/member/js/ace/mode-clojure.js | 1 + public/member/js/ace/mode-cobol.js | 1 + public/member/js/ace/mode-coffee.js | 1 + public/member/js/ace/mode-coldfusion.js | 1 + public/member/js/ace/mode-csharp.js | 1 + public/member/js/ace/mode-curly.js | 1 + public/member/js/ace/mode-d.js | 1 + public/member/js/ace/mode-dart.js | 1 + public/member/js/ace/mode-diff.js | 1 + public/member/js/ace/mode-django.js | 1 + public/member/js/ace/mode-dockerfile.js | 1 + public/member/js/ace/mode-dot.js | 1 + public/member/js/ace/mode-ejs.js | 1 + public/member/js/ace/mode-erlang.js | 1 + public/member/js/ace/mode-forth.js | 1 + public/member/js/ace/mode-ftl.js | 1 + public/member/js/ace/mode-gherkin.js | 1 + public/member/js/ace/mode-glsl.js | 1 + public/member/js/ace/mode-golang.js | 1 + public/member/js/ace/mode-groovy.js | 1 + public/member/js/ace/mode-haml.js | 1 + public/member/js/ace/mode-handlebars.js | 1 + public/member/js/ace/mode-haskell.js | 1 + public/member/js/ace/mode-haxe.js | 1 + public/member/js/ace/mode-html_completions.js | 1 + public/member/js/ace/mode-html_ruby.js | 1 + public/member/js/ace/mode-ini.js | 1 + public/member/js/ace/mode-jack.js | 1 + public/member/js/ace/mode-jade.js | 1 + public/member/js/ace/mode-java.js | 1 + public/member/js/ace/mode-json.js | 1 + public/member/js/ace/mode-jsoniq.js | 1 + public/member/js/ace/mode-jsp.js | 1 + public/member/js/ace/mode-jsx.js | 1 + public/member/js/ace/mode-julia.js | 1 + public/member/js/ace/mode-latex.js | 1 + public/member/js/ace/mode-liquid.js | 1 + public/member/js/ace/mode-lisp.js | 1 + public/member/js/ace/mode-livescript.js | 1 + public/member/js/ace/mode-logiql.js | 1 + public/member/js/ace/mode-lsl.js | 1 + public/member/js/ace/mode-lua.js | 1 + public/member/js/ace/mode-luapage.js | 1 + public/member/js/ace/mode-lucene.js | 1 + public/member/js/ace/mode-makefile.js | 1 + public/member/js/ace/mode-markdown.js | 1 + public/member/js/ace/mode-matlab.js | 1 + public/member/js/ace/mode-mel.js | 1 + public/member/js/ace/mode-mushcode.js | 1 + .../member/js/ace/mode-mushcode_high_rules.js | 1 + public/member/js/ace/mode-mysql.js | 1 + public/member/js/ace/mode-nix.js | 1 + public/member/js/ace/mode-objectivec.js | 1 + public/member/js/ace/mode-ocaml.js | 1 + public/member/js/ace/mode-pascal.js | 1 + public/member/js/ace/mode-perl.js | 1 + public/member/js/ace/mode-pgsql.js | 1 + public/member/js/ace/mode-php.js | 1 + public/member/js/ace/mode-plain_text.js | 1 + public/member/js/ace/mode-powershell.js | 1 + public/member/js/ace/mode-prolog.js | 1 + public/member/js/ace/mode-properties.js | 1 + public/member/js/ace/mode-protobuf.js | 1 + public/member/js/ace/mode-python.js | 1 + public/member/js/ace/mode-r.js | 1 + public/member/js/ace/mode-rdoc.js | 1 + public/member/js/ace/mode-rhtml.js | 1 + public/member/js/ace/mode-ruby.js | 1 + public/member/js/ace/mode-rust.js | 1 + public/member/js/ace/mode-sass.js | 1 + public/member/js/ace/mode-scad.js | 1 + public/member/js/ace/mode-scala.js | 1 + public/member/js/ace/mode-scheme.js | 1 + public/member/js/ace/mode-scss.js | 1 + public/member/js/ace/mode-sh.js | 1 + public/member/js/ace/mode-sjs.js | 1 + public/member/js/ace/mode-smarty.js | 1 + public/member/js/ace/mode-snippets.js | 1 + public/member/js/ace/mode-soy_template.js | 1 + public/member/js/ace/mode-space.js | 1 + public/member/js/ace/mode-sql.js | 1 + public/member/js/ace/mode-stylus.js | 1 + public/member/js/ace/mode-svg.js | 1 + public/member/js/ace/mode-tcl.js | 1 + public/member/js/ace/mode-tex.js | 1 + public/member/js/ace/mode-textile.js | 1 + public/member/js/ace/mode-toml.js | 1 + public/member/js/ace/mode-twig.js | 1 + public/member/js/ace/mode-typescript.js | 1 + public/member/js/ace/mode-vala.js | 1 + public/member/js/ace/mode-vbscript.js | 1 + public/member/js/ace/mode-velocity.js | 1 + public/member/js/ace/mode-verilog.js | 1 + public/member/js/ace/mode-vhdl.js | 1 + public/member/js/ace/mode-xml.js | 1 + public/member/js/ace/mode-xquery.js | 1 + public/member/js/ace/mode-yaml.js | 1 + public/member/js/ace/snippets/abap.js | 1 + public/member/js/ace/snippets/actionscript.js | 1 + public/member/js/ace/snippets/ada.js | 1 + public/member/js/ace/snippets/apache_conf.js | 1 + public/member/js/ace/snippets/applescript.js | 1 + public/member/js/ace/snippets/asciidoc.js | 1 + public/member/js/ace/snippets/assembly_x86.js | 1 + public/member/js/ace/snippets/autohotkey.js | 1 + public/member/js/ace/snippets/batchfile.js | 1 + public/member/js/ace/snippets/c9search.js | 1 + public/member/js/ace/snippets/c_cpp.js | 1 + public/member/js/ace/snippets/cirru.js | 1 + public/member/js/ace/snippets/ck/abap-min.js | 1 + .../js/ace/snippets/ck/actionscript-min.js | 1 + public/member/js/ace/snippets/ck/ada-min.js | 1 + .../js/ace/snippets/ck/apache_conf-min.js | 1 + .../js/ace/snippets/ck/applescript-min.js | 1 + .../member/js/ace/snippets/ck/asciidoc-min.js | 1 + .../js/ace/snippets/ck/assembly_x86-min.js | 1 + .../js/ace/snippets/ck/autohotkey-min.js | 1 + .../js/ace/snippets/ck/batchfile-min.js | 1 + .../member/js/ace/snippets/ck/c9search-min.js | 1 + public/member/js/ace/snippets/ck/c_cpp-min.js | 1 + public/member/js/ace/snippets/ck/cirru-min.js | 1 + .../member/js/ace/snippets/ck/clojure-min.js | 1 + public/member/js/ace/snippets/ck/cobol-min.js | 1 + .../member/js/ace/snippets/ck/coffee-min.js | 1 + .../js/ace/snippets/ck/coldfusion-min.js | 1 + .../member/js/ace/snippets/ck/csharp-min.js | 1 + public/member/js/ace/snippets/ck/css-min.js | 1 + public/member/js/ace/snippets/ck/curly-min.js | 1 + public/member/js/ace/snippets/ck/d-min.js | 1 + public/member/js/ace/snippets/ck/dart-min.js | 1 + public/member/js/ace/snippets/ck/diff-min.js | 1 + .../member/js/ace/snippets/ck/django-min.js | 1 + .../js/ace/snippets/ck/dockerfile-min.js | 1 + public/member/js/ace/snippets/ck/dot-min.js | 1 + public/member/js/ace/snippets/ck/ejs-min.js | 1 + .../member/js/ace/snippets/ck/erlang-min.js | 1 + public/member/js/ace/snippets/ck/forth-min.js | 1 + public/member/js/ace/snippets/ck/ftl-min.js | 1 + .../member/js/ace/snippets/ck/gherkin-min.js | 1 + public/member/js/ace/snippets/ck/glsl-min.js | 1 + .../member/js/ace/snippets/ck/golang-min.js | 1 + .../member/js/ace/snippets/ck/groovy-min.js | 1 + public/member/js/ace/snippets/ck/haml-min.js | 1 + .../js/ace/snippets/ck/handlebars-min.js | 1 + .../member/js/ace/snippets/ck/haskell-min.js | 1 + public/member/js/ace/snippets/ck/haxe-min.js | 1 + public/member/js/ace/snippets/ck/html-min.js | 1 + .../ace/snippets/ck/html_completions-min.js | 1 + .../js/ace/snippets/ck/html_ruby-min.js | 1 + public/member/js/ace/snippets/ck/ini-min.js | 1 + public/member/js/ace/snippets/ck/jack-min.js | 1 + public/member/js/ace/snippets/ck/jade-min.js | 1 + public/member/js/ace/snippets/ck/java-min.js | 1 + .../js/ace/snippets/ck/javascript-min.js | 1 + public/member/js/ace/snippets/ck/json-min.js | 1 + .../member/js/ace/snippets/ck/jsoniq-min.js | 1 + public/member/js/ace/snippets/ck/jsp-min.js | 1 + public/member/js/ace/snippets/ck/jsx-min.js | 1 + public/member/js/ace/snippets/ck/julia-min.js | 1 + public/member/js/ace/snippets/ck/latex-min.js | 1 + public/member/js/ace/snippets/ck/less-min.js | 1 + .../member/js/ace/snippets/ck/liquid-min.js | 1 + public/member/js/ace/snippets/ck/lisp-min.js | 1 + .../js/ace/snippets/ck/livescript-min.js | 1 + .../member/js/ace/snippets/ck/logiql-min.js | 1 + public/member/js/ace/snippets/ck/lsl-min.js | 2 + public/member/js/ace/snippets/ck/lua-min.js | 1 + .../member/js/ace/snippets/ck/luapage-min.js | 1 + .../member/js/ace/snippets/ck/lucene-min.js | 1 + .../member/js/ace/snippets/ck/makefile-min.js | 1 + .../member/js/ace/snippets/ck/markdown-min.js | 1 + .../member/js/ace/snippets/ck/matlab-min.js | 1 + public/member/js/ace/snippets/ck/mel-min.js | 1 + .../member/js/ace/snippets/ck/mushcode-min.js | 1 + .../snippets/ck/mushcode_high_rules-min.js | 1 + public/member/js/ace/snippets/ck/mysql-min.js | 1 + public/member/js/ace/snippets/ck/nix-min.js | 1 + public/member/js/ace/snippets/ck/ocaml-min.js | 1 + .../member/js/ace/snippets/ck/pascal-min.js | 1 + public/member/js/ace/snippets/ck/perl-min.js | 1 + public/member/js/ace/snippets/ck/pgsql-min.js | 1 + .../js/ace/snippets/ck/plain_text-min.js | 1 + .../js/ace/snippets/ck/powershell-min.js | 1 + .../member/js/ace/snippets/ck/prolog-min.js | 1 + .../js/ace/snippets/ck/properties-min.js | 1 + .../member/js/ace/snippets/ck/python-min.js | 1 + public/member/js/ace/snippets/ck/r-min.js | 1 + public/member/js/ace/snippets/ck/rdoc-min.js | 1 + public/member/js/ace/snippets/ck/rhtml-min.js | 1 + public/member/js/ace/snippets/ck/ruby-min.js | 1 + public/member/js/ace/snippets/ck/rust-min.js | 1 + public/member/js/ace/snippets/ck/scad-min.js | 1 + .../member/js/ace/snippets/ck/scheme-min.js | 1 + public/member/js/ace/snippets/ck/scss-min.js | 1 + public/member/js/ace/snippets/ck/sh-min.js | 1 + .../member/js/ace/snippets/ck/smarty-min.js | 1 + .../member/js/ace/snippets/ck/snippets-min.js | 1 + .../js/ace/snippets/ck/soy_template-min.js | 1 + public/member/js/ace/snippets/ck/space-min.js | 1 + .../member/js/ace/snippets/ck/stylus-min.js | 1 + public/member/js/ace/snippets/ck/svg-min.js | 1 + public/member/js/ace/snippets/clojure.js | 1 + public/member/js/ace/snippets/cobol.js | 1 + public/member/js/ace/snippets/coffee.js | 1 + public/member/js/ace/snippets/coldfusion.js | 1 + public/member/js/ace/snippets/csharp.js | 1 + public/member/js/ace/snippets/curly.js | 1 + public/member/js/ace/snippets/d.js | 1 + public/member/js/ace/snippets/dart.js | 1 + public/member/js/ace/snippets/diff.js | 1 + public/member/js/ace/snippets/django.js | 1 + public/member/js/ace/snippets/dockerfile.js | 1 + public/member/js/ace/snippets/dot.js | 1 + public/member/js/ace/snippets/ejs.js | 1 + public/member/js/ace/snippets/erlang.js | 1 + public/member/js/ace/snippets/forth.js | 1 + public/member/js/ace/snippets/ftl.js | 1 + public/member/js/ace/snippets/gherkin.js | 1 + public/member/js/ace/snippets/glsl.js | 1 + public/member/js/ace/snippets/golang.js | 1 + public/member/js/ace/snippets/groovy.js | 1 + public/member/js/ace/snippets/haml.js | 1 + public/member/js/ace/snippets/handlebars.js | 1 + public/member/js/ace/snippets/haskell.js | 1 + public/member/js/ace/snippets/haxe.js | 1 + .../js/ace/snippets/html_completions.js | 1 + public/member/js/ace/snippets/html_ruby.js | 1 + public/member/js/ace/snippets/ini.js | 1 + public/member/js/ace/snippets/jack.js | 1 + public/member/js/ace/snippets/jade.js | 1 + public/member/js/ace/snippets/java.js | 1 + public/member/js/ace/snippets/json.js | 1 + public/member/js/ace/snippets/jsoniq.js | 1 + public/member/js/ace/snippets/jsp.js | 1 + public/member/js/ace/snippets/jsx.js | 1 + public/member/js/ace/snippets/julia.js | 1 + public/member/js/ace/snippets/latex.js | 1 + public/member/js/ace/snippets/liquid.js | 1 + public/member/js/ace/snippets/lisp.js | 1 + public/member/js/ace/snippets/livescript.js | 1 + public/member/js/ace/snippets/logiql.js | 1 + public/member/js/ace/snippets/lsl.js | 1 + public/member/js/ace/snippets/lua.js | 1 + public/member/js/ace/snippets/luapage.js | 1 + public/member/js/ace/snippets/lucene.js | 1 + public/member/js/ace/snippets/makefile.js | 1 + public/member/js/ace/snippets/markdown.js | 1 + public/member/js/ace/snippets/matlab.js | 1 + public/member/js/ace/snippets/mel.js | 1 + public/member/js/ace/snippets/mushcode.js | 1 + .../js/ace/snippets/mushcode_high_rules.js | 1 + public/member/js/ace/snippets/mysql.js | 1 + public/member/js/ace/snippets/nix.js | 1 + public/member/js/ace/snippets/objectivec.js | 1 + public/member/js/ace/snippets/ocaml.js | 1 + public/member/js/ace/snippets/pascal.js | 1 + public/member/js/ace/snippets/perl.js | 1 + public/member/js/ace/snippets/pgsql.js | 1 + public/member/js/ace/snippets/php.js | 1 + public/member/js/ace/snippets/plain_text.js | 1 + public/member/js/ace/snippets/powershell.js | 1 + public/member/js/ace/snippets/prolog.js | 1 + public/member/js/ace/snippets/properties.js | 1 + public/member/js/ace/snippets/protobuf.js | 1 + public/member/js/ace/snippets/python.js | 1 + public/member/js/ace/snippets/r.js | 1 + public/member/js/ace/snippets/rdoc.js | 1 + public/member/js/ace/snippets/rhtml.js | 1 + public/member/js/ace/snippets/ruby.js | 1 + public/member/js/ace/snippets/rust.js | 1 + public/member/js/ace/snippets/sass.js | 1 + public/member/js/ace/snippets/scad.js | 1 + public/member/js/ace/snippets/scala.js | 1 + public/member/js/ace/snippets/scheme.js | 1 + public/member/js/ace/snippets/scss.js | 1 + public/member/js/ace/snippets/sh.js | 1 + public/member/js/ace/snippets/sjs.js | 1 + public/member/js/ace/snippets/smarty.js | 1 + public/member/js/ace/snippets/snippets.js | 1 + public/member/js/ace/snippets/soy_template.js | 1 + public/member/js/ace/snippets/space.js | 1 + public/member/js/ace/snippets/sql.js | 1 + public/member/js/ace/snippets/stylus.js | 1 + public/member/js/ace/snippets/svg.js | 1 + public/member/js/ace/snippets/tcl.js | 1 + public/member/js/ace/snippets/tex.js | 1 + public/member/js/ace/snippets/textile.js | 1 + public/member/js/ace/snippets/toml.js | 1 + public/member/js/ace/snippets/twig.js | 1 + public/member/js/ace/snippets/typescript.js | 1 + public/member/js/ace/snippets/vala.js | 1 + public/member/js/ace/snippets/vbscript.js | 1 + public/member/js/ace/snippets/velocity.js | 1 + public/member/js/ace/snippets/verilog.js | 1 + public/member/js/ace/snippets/vhdl.js | 1 + public/member/js/ace/snippets/xml.js | 1 + public/member/js/ace/snippets/xquery.js | 1 + public/member/js/ace/snippets/yaml.js | 1 + public/member/js/ace/theme-ambiance.js | 1 + public/member/js/ace/theme-chaos.js | 1 + public/member/js/ace/theme-chrome.js | 1 + public/member/js/ace/theme-cloud9_day.js | 1 + public/member/js/ace/theme-cloud9_night.js | 1 + .../js/ace/theme-cloud9_night_low_color.js | 1 + public/member/js/ace/theme-clouds.js | 1 + public/member/js/ace/theme-clouds_midnight.js | 1 + public/member/js/ace/theme-cobalt.js | 1 + public/member/js/ace/theme-crimson_editor.js | 1 + public/member/js/ace/theme-dawn.js | 1 + public/member/js/ace/theme-dreamweaver.js | 1 + public/member/js/ace/theme-eclipse.js | 1 + public/member/js/ace/theme-github.js | 1 + public/member/js/ace/theme-idle_fingers.js | 1 + public/member/js/ace/theme-katzenmilch.js | 1 + public/member/js/ace/theme-kr.js | 1 + public/member/js/ace/theme-kuroir.js | 1 + public/member/js/ace/theme-merbivore.js | 1 + public/member/js/ace/theme-merbivore_soft.js | 1 + public/member/js/ace/theme-mono_industrial.js | 1 + public/member/js/ace/theme-monokai.js | 1 + public/member/js/ace/theme-pastel_on_dark.js | 1 + public/member/js/ace/theme-solarized_dark.js | 1 + public/member/js/ace/theme-solarized_light.js | 1 + public/member/js/ace/theme-terminal.js | 1 + public/member/js/ace/theme-textmate.js | 1 + public/member/js/ace/theme-tomorrow_night.js | 1 + .../js/ace/theme-tomorrow_night_blue.js | 1 + .../js/ace/theme-tomorrow_night_bright.js | 1 + .../js/ace/theme-tomorrow_night_eighties.js | 1 + public/member/js/ace/theme-twilight.js | 1 + public/member/js/ace/theme-vibrant_ink.js | 1 + public/member/js/ace/theme-xcode.js | 1 + public/member/js/member.js | 3 +- 525 files changed, 3631 insertions(+), 381 deletions(-) create mode 100644 public/css/css/editor-writting-mode.css create mode 100644 public/css/css/editor.css create mode 100644 public/css/css/writting-overwrite.css create mode 100644 public/member/js/ace/ck/ace-min.js create mode 100644 public/member/js/ace/ck/ext-beautify-min.js create mode 100644 public/member/js/ace/ck/ext-chromevox-min.js create mode 100644 public/member/js/ace/ck/ext-elastic_tabstops_lite-min.js create mode 100644 public/member/js/ace/ck/ext-emmet-min.js create mode 100644 public/member/js/ace/ck/ext-error_marker-min.js create mode 100644 public/member/js/ace/ck/ext-keybinding_menu-min.js create mode 100644 public/member/js/ace/ck/ext-language_tools-min.js create mode 100644 public/member/js/ace/ck/ext-linking-min.js create mode 100644 public/member/js/ace/ck/ext-modelist-min.js create mode 100644 public/member/js/ace/ck/ext-old_ie-min.js create mode 100644 public/member/js/ace/ck/ext-prompt-min.js create mode 100644 public/member/js/ace/ck/ext-searchbox-min.js create mode 100644 public/member/js/ace/ck/ext-settings_menu-min.js create mode 100644 public/member/js/ace/ck/ext-spellcheck-min.js create mode 100644 public/member/js/ace/ck/ext-split-min.js create mode 100644 public/member/js/ace/ck/ext-static_highlight-min.js create mode 100644 public/member/js/ace/ck/ext-statusbar-min.js create mode 100644 public/member/js/ace/ck/ext-textarea-min.js create mode 100644 public/member/js/ace/ck/ext-themelist-min.js create mode 100644 public/member/js/ace/ck/ext-whitespace-min.js create mode 100644 public/member/js/ace/ck/keybinding-emacs-min.js create mode 100644 public/member/js/ace/ck/keybinding-vim-min.js create mode 100644 public/member/js/ace/ck/mode-abap-min.js create mode 100644 public/member/js/ace/ck/mode-actionscript-min.js create mode 100644 public/member/js/ace/ck/mode-ada-min.js create mode 100644 public/member/js/ace/ck/mode-apache_conf-min.js create mode 100644 public/member/js/ace/ck/mode-applescript-min.js create mode 100644 public/member/js/ace/ck/mode-asciidoc-min.js create mode 100644 public/member/js/ace/ck/mode-assembly_x86-min.js create mode 100644 public/member/js/ace/ck/mode-autohotkey-min.js create mode 100644 public/member/js/ace/ck/mode-batchfile-min.js create mode 100644 public/member/js/ace/ck/mode-c9search-min.js create mode 100644 public/member/js/ace/ck/mode-c_cpp-min.js create mode 100644 public/member/js/ace/ck/mode-cirru-min.js create mode 100644 public/member/js/ace/ck/mode-clojure-min.js create mode 100644 public/member/js/ace/ck/mode-cobol-min.js create mode 100644 public/member/js/ace/ck/mode-coffee-min.js create mode 100644 public/member/js/ace/ck/mode-coldfusion-min.js create mode 100644 public/member/js/ace/ck/mode-csharp-min.js create mode 100644 public/member/js/ace/ck/mode-css-min.js create mode 100644 public/member/js/ace/ck/mode-curly-min.js create mode 100644 public/member/js/ace/ck/mode-d-min.js create mode 100644 public/member/js/ace/ck/mode-dart-min.js create mode 100644 public/member/js/ace/ck/mode-diff-min.js create mode 100644 public/member/js/ace/ck/mode-django-min.js create mode 100644 public/member/js/ace/ck/mode-dockerfile-min.js create mode 100644 public/member/js/ace/ck/mode-dot-min.js create mode 100644 public/member/js/ace/ck/mode-ejs-min.js create mode 100644 public/member/js/ace/ck/mode-erlang-min.js create mode 100644 public/member/js/ace/ck/mode-forth-min.js create mode 100644 public/member/js/ace/ck/mode-ftl-min.js create mode 100644 public/member/js/ace/ck/mode-gherkin-min.js create mode 100644 public/member/js/ace/ck/mode-glsl-min.js create mode 100644 public/member/js/ace/ck/mode-golang-min.js create mode 100644 public/member/js/ace/ck/mode-groovy-min.js create mode 100644 public/member/js/ace/ck/mode-haml-min.js create mode 100644 public/member/js/ace/ck/mode-handlebars-min.js create mode 100644 public/member/js/ace/ck/mode-haskell-min.js create mode 100644 public/member/js/ace/ck/mode-haxe-min.js create mode 100644 public/member/js/ace/ck/mode-html-min.js create mode 100644 public/member/js/ace/ck/mode-html_completions-min.js create mode 100644 public/member/js/ace/ck/mode-html_ruby-min.js create mode 100644 public/member/js/ace/ck/mode-ini-min.js create mode 100644 public/member/js/ace/ck/mode-jack-min.js create mode 100644 public/member/js/ace/ck/mode-jade-min.js create mode 100644 public/member/js/ace/ck/mode-java-min.js create mode 100644 public/member/js/ace/ck/mode-javascript-min.js create mode 100644 public/member/js/ace/ck/mode-json-min.js create mode 100644 public/member/js/ace/ck/mode-jsoniq-min.js create mode 100644 public/member/js/ace/ck/mode-jsp-min.js create mode 100644 public/member/js/ace/ck/mode-jsx-min.js create mode 100644 public/member/js/ace/ck/mode-julia-min.js create mode 100644 public/member/js/ace/ck/mode-latex-min.js create mode 100644 public/member/js/ace/ck/mode-less-min.js create mode 100644 public/member/js/ace/ck/mode-liquid-min.js create mode 100644 public/member/js/ace/ck/mode-lisp-min.js create mode 100644 public/member/js/ace/ck/mode-livescript-min.js create mode 100644 public/member/js/ace/ck/mode-logiql-min.js create mode 100644 public/member/js/ace/ck/mode-lsl-min.js create mode 100644 public/member/js/ace/ck/mode-lua-min.js create mode 100644 public/member/js/ace/ck/mode-luapage-min.js create mode 100644 public/member/js/ace/ck/mode-lucene-min.js create mode 100644 public/member/js/ace/ck/mode-makefile-min.js create mode 100644 public/member/js/ace/ck/mode-markdown-min.js create mode 100644 public/member/js/ace/ck/mode-matlab-min.js create mode 100644 public/member/js/ace/ck/mode-mel-min.js create mode 100644 public/member/js/ace/ck/mode-mushcode-min.js create mode 100644 public/member/js/ace/ck/mode-mushcode_high_rules-min.js create mode 100644 public/member/js/ace/ck/mode-mysql-min.js create mode 100644 public/member/js/ace/ck/mode-nix-min.js create mode 100644 public/member/js/ace/ck/mode-objectivec-min.js create mode 100644 public/member/js/ace/ck/mode-ocaml-min.js create mode 100644 public/member/js/ace/ck/mode-pascal-min.js create mode 100644 public/member/js/ace/ck/mode-perl-min.js create mode 100644 public/member/js/ace/ck/mode-pgsql-min.js create mode 100644 public/member/js/ace/ck/mode-php-min.js create mode 100644 public/member/js/ace/ck/mode-plain_text-min.js create mode 100644 public/member/js/ace/ck/mode-powershell-min.js create mode 100644 public/member/js/ace/ck/mode-prolog-min.js create mode 100644 public/member/js/ace/ck/mode-properties-min.js create mode 100644 public/member/js/ace/ck/mode-protobuf-min.js create mode 100644 public/member/js/ace/ck/mode-python-min.js create mode 100644 public/member/js/ace/ck/mode-r-min.js create mode 100644 public/member/js/ace/ck/mode-rdoc-min.js create mode 100644 public/member/js/ace/ck/mode-rhtml-min.js create mode 100644 public/member/js/ace/ck/mode-ruby-min.js create mode 100644 public/member/js/ace/ck/mode-rust-min.js create mode 100644 public/member/js/ace/ck/mode-sass-min.js create mode 100644 public/member/js/ace/ck/mode-scad-min.js create mode 100644 public/member/js/ace/ck/mode-scala-min.js create mode 100644 public/member/js/ace/ck/mode-scheme-min.js create mode 100644 public/member/js/ace/ck/mode-scss-min.js create mode 100644 public/member/js/ace/ck/mode-sh-min.js create mode 100644 public/member/js/ace/ck/mode-sjs-min.js create mode 100644 public/member/js/ace/ck/mode-smarty-min.js create mode 100644 public/member/js/ace/ck/mode-snippets-min.js create mode 100644 public/member/js/ace/ck/mode-soy_template-min.js create mode 100644 public/member/js/ace/ck/mode-space-min.js create mode 100644 public/member/js/ace/ck/mode-sql-min.js create mode 100644 public/member/js/ace/ck/mode-stylus-min.js create mode 100644 public/member/js/ace/ck/mode-svg-min.js create mode 100644 public/member/js/ace/ck/mode-tcl-min.js create mode 100644 public/member/js/ace/ck/mode-tex-min.js create mode 100644 public/member/js/ace/ck/mode-textile-min.js create mode 100644 public/member/js/ace/ck/mode-toml-min.js create mode 100644 public/member/js/ace/ck/mode-twig-min.js create mode 100644 public/member/js/ace/ck/mode-typescript-min.js create mode 100644 public/member/js/ace/ck/mode-vala-min.js create mode 100644 public/member/js/ace/ck/mode-vbscript-min.js create mode 100644 public/member/js/ace/ck/mode-verilog-min.js create mode 100644 public/member/js/ace/ck/mode-vhdl-min.js create mode 100644 public/member/js/ace/ck/mode-xml-min.js create mode 100644 public/member/js/ace/ck/mode-yaml-min.js create mode 100644 public/member/js/ace/mode-abap.js create mode 100644 public/member/js/ace/mode-actionscript.js create mode 100644 public/member/js/ace/mode-ada.js create mode 100644 public/member/js/ace/mode-apache_conf.js create mode 100644 public/member/js/ace/mode-applescript.js create mode 100644 public/member/js/ace/mode-asciidoc.js create mode 100644 public/member/js/ace/mode-assembly_x86.js create mode 100644 public/member/js/ace/mode-autohotkey.js create mode 100644 public/member/js/ace/mode-batchfile.js create mode 100644 public/member/js/ace/mode-c9search.js create mode 100644 public/member/js/ace/mode-c_cpp.js create mode 100644 public/member/js/ace/mode-cirru.js create mode 100644 public/member/js/ace/mode-clojure.js create mode 100644 public/member/js/ace/mode-cobol.js create mode 100644 public/member/js/ace/mode-coffee.js create mode 100644 public/member/js/ace/mode-coldfusion.js create mode 100644 public/member/js/ace/mode-csharp.js create mode 100644 public/member/js/ace/mode-curly.js create mode 100644 public/member/js/ace/mode-d.js create mode 100644 public/member/js/ace/mode-dart.js create mode 100644 public/member/js/ace/mode-diff.js create mode 100644 public/member/js/ace/mode-django.js create mode 100644 public/member/js/ace/mode-dockerfile.js create mode 100644 public/member/js/ace/mode-dot.js create mode 100644 public/member/js/ace/mode-ejs.js create mode 100644 public/member/js/ace/mode-erlang.js create mode 100644 public/member/js/ace/mode-forth.js create mode 100644 public/member/js/ace/mode-ftl.js create mode 100644 public/member/js/ace/mode-gherkin.js create mode 100644 public/member/js/ace/mode-glsl.js create mode 100644 public/member/js/ace/mode-golang.js create mode 100644 public/member/js/ace/mode-groovy.js create mode 100644 public/member/js/ace/mode-haml.js create mode 100644 public/member/js/ace/mode-handlebars.js create mode 100644 public/member/js/ace/mode-haskell.js create mode 100644 public/member/js/ace/mode-haxe.js create mode 100644 public/member/js/ace/mode-html_completions.js create mode 100644 public/member/js/ace/mode-html_ruby.js create mode 100644 public/member/js/ace/mode-ini.js create mode 100644 public/member/js/ace/mode-jack.js create mode 100644 public/member/js/ace/mode-jade.js create mode 100644 public/member/js/ace/mode-java.js create mode 100644 public/member/js/ace/mode-json.js create mode 100644 public/member/js/ace/mode-jsoniq.js create mode 100644 public/member/js/ace/mode-jsp.js create mode 100644 public/member/js/ace/mode-jsx.js create mode 100644 public/member/js/ace/mode-julia.js create mode 100644 public/member/js/ace/mode-latex.js create mode 100644 public/member/js/ace/mode-liquid.js create mode 100644 public/member/js/ace/mode-lisp.js create mode 100644 public/member/js/ace/mode-livescript.js create mode 100644 public/member/js/ace/mode-logiql.js create mode 100644 public/member/js/ace/mode-lsl.js create mode 100644 public/member/js/ace/mode-lua.js create mode 100644 public/member/js/ace/mode-luapage.js create mode 100644 public/member/js/ace/mode-lucene.js create mode 100644 public/member/js/ace/mode-makefile.js create mode 100644 public/member/js/ace/mode-markdown.js create mode 100644 public/member/js/ace/mode-matlab.js create mode 100644 public/member/js/ace/mode-mel.js create mode 100644 public/member/js/ace/mode-mushcode.js create mode 100644 public/member/js/ace/mode-mushcode_high_rules.js create mode 100644 public/member/js/ace/mode-mysql.js create mode 100644 public/member/js/ace/mode-nix.js create mode 100644 public/member/js/ace/mode-objectivec.js create mode 100644 public/member/js/ace/mode-ocaml.js create mode 100644 public/member/js/ace/mode-pascal.js create mode 100644 public/member/js/ace/mode-perl.js create mode 100644 public/member/js/ace/mode-pgsql.js create mode 100644 public/member/js/ace/mode-php.js create mode 100644 public/member/js/ace/mode-plain_text.js create mode 100644 public/member/js/ace/mode-powershell.js create mode 100644 public/member/js/ace/mode-prolog.js create mode 100644 public/member/js/ace/mode-properties.js create mode 100644 public/member/js/ace/mode-protobuf.js create mode 100644 public/member/js/ace/mode-python.js create mode 100644 public/member/js/ace/mode-r.js create mode 100644 public/member/js/ace/mode-rdoc.js create mode 100644 public/member/js/ace/mode-rhtml.js create mode 100644 public/member/js/ace/mode-ruby.js create mode 100644 public/member/js/ace/mode-rust.js create mode 100644 public/member/js/ace/mode-sass.js create mode 100644 public/member/js/ace/mode-scad.js create mode 100644 public/member/js/ace/mode-scala.js create mode 100644 public/member/js/ace/mode-scheme.js create mode 100644 public/member/js/ace/mode-scss.js create mode 100644 public/member/js/ace/mode-sh.js create mode 100644 public/member/js/ace/mode-sjs.js create mode 100644 public/member/js/ace/mode-smarty.js create mode 100644 public/member/js/ace/mode-snippets.js create mode 100644 public/member/js/ace/mode-soy_template.js create mode 100644 public/member/js/ace/mode-space.js create mode 100644 public/member/js/ace/mode-sql.js create mode 100644 public/member/js/ace/mode-stylus.js create mode 100644 public/member/js/ace/mode-svg.js create mode 100644 public/member/js/ace/mode-tcl.js create mode 100644 public/member/js/ace/mode-tex.js create mode 100644 public/member/js/ace/mode-textile.js create mode 100644 public/member/js/ace/mode-toml.js create mode 100644 public/member/js/ace/mode-twig.js create mode 100644 public/member/js/ace/mode-typescript.js create mode 100644 public/member/js/ace/mode-vala.js create mode 100644 public/member/js/ace/mode-vbscript.js create mode 100644 public/member/js/ace/mode-velocity.js create mode 100644 public/member/js/ace/mode-verilog.js create mode 100644 public/member/js/ace/mode-vhdl.js create mode 100644 public/member/js/ace/mode-xml.js create mode 100644 public/member/js/ace/mode-xquery.js create mode 100644 public/member/js/ace/mode-yaml.js create mode 100644 public/member/js/ace/snippets/abap.js create mode 100644 public/member/js/ace/snippets/actionscript.js create mode 100644 public/member/js/ace/snippets/ada.js create mode 100644 public/member/js/ace/snippets/apache_conf.js create mode 100644 public/member/js/ace/snippets/applescript.js create mode 100644 public/member/js/ace/snippets/asciidoc.js create mode 100644 public/member/js/ace/snippets/assembly_x86.js create mode 100644 public/member/js/ace/snippets/autohotkey.js create mode 100644 public/member/js/ace/snippets/batchfile.js create mode 100644 public/member/js/ace/snippets/c9search.js create mode 100644 public/member/js/ace/snippets/c_cpp.js create mode 100644 public/member/js/ace/snippets/cirru.js create mode 100644 public/member/js/ace/snippets/ck/abap-min.js create mode 100644 public/member/js/ace/snippets/ck/actionscript-min.js create mode 100644 public/member/js/ace/snippets/ck/ada-min.js create mode 100644 public/member/js/ace/snippets/ck/apache_conf-min.js create mode 100644 public/member/js/ace/snippets/ck/applescript-min.js create mode 100644 public/member/js/ace/snippets/ck/asciidoc-min.js create mode 100644 public/member/js/ace/snippets/ck/assembly_x86-min.js create mode 100644 public/member/js/ace/snippets/ck/autohotkey-min.js create mode 100644 public/member/js/ace/snippets/ck/batchfile-min.js create mode 100644 public/member/js/ace/snippets/ck/c9search-min.js create mode 100644 public/member/js/ace/snippets/ck/c_cpp-min.js create mode 100644 public/member/js/ace/snippets/ck/cirru-min.js create mode 100644 public/member/js/ace/snippets/ck/clojure-min.js create mode 100644 public/member/js/ace/snippets/ck/cobol-min.js create mode 100644 public/member/js/ace/snippets/ck/coffee-min.js create mode 100644 public/member/js/ace/snippets/ck/coldfusion-min.js create mode 100644 public/member/js/ace/snippets/ck/csharp-min.js create mode 100644 public/member/js/ace/snippets/ck/css-min.js create mode 100644 public/member/js/ace/snippets/ck/curly-min.js create mode 100644 public/member/js/ace/snippets/ck/d-min.js create mode 100644 public/member/js/ace/snippets/ck/dart-min.js create mode 100644 public/member/js/ace/snippets/ck/diff-min.js create mode 100644 public/member/js/ace/snippets/ck/django-min.js create mode 100644 public/member/js/ace/snippets/ck/dockerfile-min.js create mode 100644 public/member/js/ace/snippets/ck/dot-min.js create mode 100644 public/member/js/ace/snippets/ck/ejs-min.js create mode 100644 public/member/js/ace/snippets/ck/erlang-min.js create mode 100644 public/member/js/ace/snippets/ck/forth-min.js create mode 100644 public/member/js/ace/snippets/ck/ftl-min.js create mode 100644 public/member/js/ace/snippets/ck/gherkin-min.js create mode 100644 public/member/js/ace/snippets/ck/glsl-min.js create mode 100644 public/member/js/ace/snippets/ck/golang-min.js create mode 100644 public/member/js/ace/snippets/ck/groovy-min.js create mode 100644 public/member/js/ace/snippets/ck/haml-min.js create mode 100644 public/member/js/ace/snippets/ck/handlebars-min.js create mode 100644 public/member/js/ace/snippets/ck/haskell-min.js create mode 100644 public/member/js/ace/snippets/ck/haxe-min.js create mode 100644 public/member/js/ace/snippets/ck/html-min.js create mode 100644 public/member/js/ace/snippets/ck/html_completions-min.js create mode 100644 public/member/js/ace/snippets/ck/html_ruby-min.js create mode 100644 public/member/js/ace/snippets/ck/ini-min.js create mode 100644 public/member/js/ace/snippets/ck/jack-min.js create mode 100644 public/member/js/ace/snippets/ck/jade-min.js create mode 100644 public/member/js/ace/snippets/ck/java-min.js create mode 100644 public/member/js/ace/snippets/ck/javascript-min.js create mode 100644 public/member/js/ace/snippets/ck/json-min.js create mode 100644 public/member/js/ace/snippets/ck/jsoniq-min.js create mode 100644 public/member/js/ace/snippets/ck/jsp-min.js create mode 100644 public/member/js/ace/snippets/ck/jsx-min.js create mode 100644 public/member/js/ace/snippets/ck/julia-min.js create mode 100644 public/member/js/ace/snippets/ck/latex-min.js create mode 100644 public/member/js/ace/snippets/ck/less-min.js create mode 100644 public/member/js/ace/snippets/ck/liquid-min.js create mode 100644 public/member/js/ace/snippets/ck/lisp-min.js create mode 100644 public/member/js/ace/snippets/ck/livescript-min.js create mode 100644 public/member/js/ace/snippets/ck/logiql-min.js create mode 100644 public/member/js/ace/snippets/ck/lsl-min.js create mode 100644 public/member/js/ace/snippets/ck/lua-min.js create mode 100644 public/member/js/ace/snippets/ck/luapage-min.js create mode 100644 public/member/js/ace/snippets/ck/lucene-min.js create mode 100644 public/member/js/ace/snippets/ck/makefile-min.js create mode 100644 public/member/js/ace/snippets/ck/markdown-min.js create mode 100644 public/member/js/ace/snippets/ck/matlab-min.js create mode 100644 public/member/js/ace/snippets/ck/mel-min.js create mode 100644 public/member/js/ace/snippets/ck/mushcode-min.js create mode 100644 public/member/js/ace/snippets/ck/mushcode_high_rules-min.js create mode 100644 public/member/js/ace/snippets/ck/mysql-min.js create mode 100644 public/member/js/ace/snippets/ck/nix-min.js create mode 100644 public/member/js/ace/snippets/ck/ocaml-min.js create mode 100644 public/member/js/ace/snippets/ck/pascal-min.js create mode 100644 public/member/js/ace/snippets/ck/perl-min.js create mode 100644 public/member/js/ace/snippets/ck/pgsql-min.js create mode 100644 public/member/js/ace/snippets/ck/plain_text-min.js create mode 100644 public/member/js/ace/snippets/ck/powershell-min.js create mode 100644 public/member/js/ace/snippets/ck/prolog-min.js create mode 100644 public/member/js/ace/snippets/ck/properties-min.js create mode 100644 public/member/js/ace/snippets/ck/python-min.js create mode 100644 public/member/js/ace/snippets/ck/r-min.js create mode 100644 public/member/js/ace/snippets/ck/rdoc-min.js create mode 100644 public/member/js/ace/snippets/ck/rhtml-min.js create mode 100644 public/member/js/ace/snippets/ck/ruby-min.js create mode 100644 public/member/js/ace/snippets/ck/rust-min.js create mode 100644 public/member/js/ace/snippets/ck/scad-min.js create mode 100644 public/member/js/ace/snippets/ck/scheme-min.js create mode 100644 public/member/js/ace/snippets/ck/scss-min.js create mode 100644 public/member/js/ace/snippets/ck/sh-min.js create mode 100644 public/member/js/ace/snippets/ck/smarty-min.js create mode 100644 public/member/js/ace/snippets/ck/snippets-min.js create mode 100644 public/member/js/ace/snippets/ck/soy_template-min.js create mode 100644 public/member/js/ace/snippets/ck/space-min.js create mode 100644 public/member/js/ace/snippets/ck/stylus-min.js create mode 100644 public/member/js/ace/snippets/ck/svg-min.js create mode 100644 public/member/js/ace/snippets/clojure.js create mode 100644 public/member/js/ace/snippets/cobol.js create mode 100644 public/member/js/ace/snippets/coffee.js create mode 100644 public/member/js/ace/snippets/coldfusion.js create mode 100644 public/member/js/ace/snippets/csharp.js create mode 100644 public/member/js/ace/snippets/curly.js create mode 100644 public/member/js/ace/snippets/d.js create mode 100644 public/member/js/ace/snippets/dart.js create mode 100644 public/member/js/ace/snippets/diff.js create mode 100644 public/member/js/ace/snippets/django.js create mode 100644 public/member/js/ace/snippets/dockerfile.js create mode 100644 public/member/js/ace/snippets/dot.js create mode 100644 public/member/js/ace/snippets/ejs.js create mode 100644 public/member/js/ace/snippets/erlang.js create mode 100644 public/member/js/ace/snippets/forth.js create mode 100644 public/member/js/ace/snippets/ftl.js create mode 100644 public/member/js/ace/snippets/gherkin.js create mode 100644 public/member/js/ace/snippets/glsl.js create mode 100644 public/member/js/ace/snippets/golang.js create mode 100644 public/member/js/ace/snippets/groovy.js create mode 100644 public/member/js/ace/snippets/haml.js create mode 100644 public/member/js/ace/snippets/handlebars.js create mode 100644 public/member/js/ace/snippets/haskell.js create mode 100644 public/member/js/ace/snippets/haxe.js create mode 100644 public/member/js/ace/snippets/html_completions.js create mode 100644 public/member/js/ace/snippets/html_ruby.js create mode 100644 public/member/js/ace/snippets/ini.js create mode 100644 public/member/js/ace/snippets/jack.js create mode 100644 public/member/js/ace/snippets/jade.js create mode 100644 public/member/js/ace/snippets/java.js create mode 100644 public/member/js/ace/snippets/json.js create mode 100644 public/member/js/ace/snippets/jsoniq.js create mode 100644 public/member/js/ace/snippets/jsp.js create mode 100644 public/member/js/ace/snippets/jsx.js create mode 100644 public/member/js/ace/snippets/julia.js create mode 100644 public/member/js/ace/snippets/latex.js create mode 100644 public/member/js/ace/snippets/liquid.js create mode 100644 public/member/js/ace/snippets/lisp.js create mode 100644 public/member/js/ace/snippets/livescript.js create mode 100644 public/member/js/ace/snippets/logiql.js create mode 100644 public/member/js/ace/snippets/lsl.js create mode 100644 public/member/js/ace/snippets/lua.js create mode 100644 public/member/js/ace/snippets/luapage.js create mode 100644 public/member/js/ace/snippets/lucene.js create mode 100644 public/member/js/ace/snippets/makefile.js create mode 100644 public/member/js/ace/snippets/markdown.js create mode 100644 public/member/js/ace/snippets/matlab.js create mode 100644 public/member/js/ace/snippets/mel.js create mode 100644 public/member/js/ace/snippets/mushcode.js create mode 100644 public/member/js/ace/snippets/mushcode_high_rules.js create mode 100644 public/member/js/ace/snippets/mysql.js create mode 100644 public/member/js/ace/snippets/nix.js create mode 100644 public/member/js/ace/snippets/objectivec.js create mode 100644 public/member/js/ace/snippets/ocaml.js create mode 100644 public/member/js/ace/snippets/pascal.js create mode 100644 public/member/js/ace/snippets/perl.js create mode 100644 public/member/js/ace/snippets/pgsql.js create mode 100644 public/member/js/ace/snippets/php.js create mode 100644 public/member/js/ace/snippets/plain_text.js create mode 100644 public/member/js/ace/snippets/powershell.js create mode 100644 public/member/js/ace/snippets/prolog.js create mode 100644 public/member/js/ace/snippets/properties.js create mode 100644 public/member/js/ace/snippets/protobuf.js create mode 100644 public/member/js/ace/snippets/python.js create mode 100644 public/member/js/ace/snippets/r.js create mode 100644 public/member/js/ace/snippets/rdoc.js create mode 100644 public/member/js/ace/snippets/rhtml.js create mode 100644 public/member/js/ace/snippets/ruby.js create mode 100644 public/member/js/ace/snippets/rust.js create mode 100644 public/member/js/ace/snippets/sass.js create mode 100644 public/member/js/ace/snippets/scad.js create mode 100644 public/member/js/ace/snippets/scala.js create mode 100644 public/member/js/ace/snippets/scheme.js create mode 100644 public/member/js/ace/snippets/scss.js create mode 100644 public/member/js/ace/snippets/sh.js create mode 100644 public/member/js/ace/snippets/sjs.js create mode 100644 public/member/js/ace/snippets/smarty.js create mode 100644 public/member/js/ace/snippets/snippets.js create mode 100644 public/member/js/ace/snippets/soy_template.js create mode 100644 public/member/js/ace/snippets/space.js create mode 100644 public/member/js/ace/snippets/sql.js create mode 100644 public/member/js/ace/snippets/stylus.js create mode 100644 public/member/js/ace/snippets/svg.js create mode 100644 public/member/js/ace/snippets/tcl.js create mode 100644 public/member/js/ace/snippets/tex.js create mode 100644 public/member/js/ace/snippets/textile.js create mode 100644 public/member/js/ace/snippets/toml.js create mode 100644 public/member/js/ace/snippets/twig.js create mode 100644 public/member/js/ace/snippets/typescript.js create mode 100644 public/member/js/ace/snippets/vala.js create mode 100644 public/member/js/ace/snippets/vbscript.js create mode 100644 public/member/js/ace/snippets/velocity.js create mode 100644 public/member/js/ace/snippets/verilog.js create mode 100644 public/member/js/ace/snippets/vhdl.js create mode 100644 public/member/js/ace/snippets/xml.js create mode 100644 public/member/js/ace/snippets/xquery.js create mode 100644 public/member/js/ace/snippets/yaml.js create mode 100644 public/member/js/ace/theme-ambiance.js create mode 100644 public/member/js/ace/theme-chaos.js create mode 100644 public/member/js/ace/theme-chrome.js create mode 100644 public/member/js/ace/theme-cloud9_day.js create mode 100644 public/member/js/ace/theme-cloud9_night.js create mode 100644 public/member/js/ace/theme-cloud9_night_low_color.js create mode 100644 public/member/js/ace/theme-clouds.js create mode 100644 public/member/js/ace/theme-clouds_midnight.js create mode 100644 public/member/js/ace/theme-cobalt.js create mode 100644 public/member/js/ace/theme-crimson_editor.js create mode 100644 public/member/js/ace/theme-dawn.js create mode 100644 public/member/js/ace/theme-dreamweaver.js create mode 100644 public/member/js/ace/theme-eclipse.js create mode 100644 public/member/js/ace/theme-github.js create mode 100644 public/member/js/ace/theme-idle_fingers.js create mode 100644 public/member/js/ace/theme-katzenmilch.js create mode 100644 public/member/js/ace/theme-kr.js create mode 100644 public/member/js/ace/theme-kuroir.js create mode 100644 public/member/js/ace/theme-merbivore.js create mode 100644 public/member/js/ace/theme-merbivore_soft.js create mode 100644 public/member/js/ace/theme-mono_industrial.js create mode 100644 public/member/js/ace/theme-monokai.js create mode 100644 public/member/js/ace/theme-pastel_on_dark.js create mode 100644 public/member/js/ace/theme-solarized_dark.js create mode 100644 public/member/js/ace/theme-solarized_light.js create mode 100644 public/member/js/ace/theme-terminal.js create mode 100644 public/member/js/ace/theme-textmate.js create mode 100644 public/member/js/ace/theme-tomorrow_night.js create mode 100644 public/member/js/ace/theme-tomorrow_night_blue.js create mode 100644 public/member/js/ace/theme-tomorrow_night_bright.js create mode 100644 public/member/js/ace/theme-tomorrow_night_eighties.js create mode 100644 public/member/js/ace/theme-twilight.js create mode 100644 public/member/js/ace/theme-vibrant_ink.js create mode 100644 public/member/js/ace/theme-xcode.js diff --git a/app/controllers/NoteController.go b/app/controllers/NoteController.go index cd75c54..fef6029 100644 --- a/app/controllers/NoteController.go +++ b/app/controllers/NoteController.go @@ -22,9 +22,8 @@ type Note struct { // 笔记首页, 判断是否已登录 // 已登录, 得到用户基本信息(notebook, shareNotebook), 跳转到index.html中 // 否则, 转向登录页面 -func (c Note) Index() revel.Result { +func (c Note) Index(noteId string) revel.Result { c.SetLocale() - userInfo := c.GetUserInfo() userId := userInfo.UserId.Hex() @@ -35,7 +34,7 @@ func (c Note) Index() revel.Result { } c.RenderArgs["openRegister"] = configService.IsOpenRegister() - + // 已登录了, 那么得到所有信息 notebooks := notebookService.GetNotebooks(userId) shareNotebooks, sharedUserInfos := shareService.GetShareNotebooks(userId) @@ -43,22 +42,78 @@ func (c Note) Index() revel.Result { // 还需要按时间排序(DESC)得到notes notes := []info.Note{} noteContent := info.NoteContent{} + if len(notebooks) > 0 { -// _, notes = noteService.ListNotes(c.GetUserId(), "", false, c.GetPage(), pageSize, defaultSortField, false, false); - // 变成最新 - _, notes = noteService.ListNotes(c.GetUserId(), "", false, c.GetPage(), 50, defaultSortField, false, false); - if len(notes) > 0 { - noteContent = noteService.GetNoteContent(notes[0].NoteId.Hex(), userId) + // noteId是否存在 + // 是否传入了正确的noteId + hasRightNoteId := false + if IsObjectId(noteId) { + note := noteService.GetNoteById(noteId) + var noteOwner = note.UserId.Hex() + noteContent = noteService.GetNoteContent(noteId, noteOwner) + + if note.NoteId != "" { + hasRightNoteId = true + c.RenderArgs["curNoteId"] = noteId + c.RenderArgs["curNotebookId"] = note.NotebookId.Hex() + + // 打开的是共享的笔记, 那么判断是否是共享给我的默认笔记 + if noteOwner != c.GetUserId() { + if shareService.HasReadPerm(noteOwner, c.GetUserId(), noteId) { + // 不要获取notebook下的笔记 + // 在前端下发请求 + c.RenderArgs["curSharedNoteNotebookId"] = note.NotebookId.Hex() + c.RenderArgs["curSharedUserId"] = noteOwner; + // 没有读写权限 + } else { + hasRightNoteId = false + } + } else { + _, notes = noteService.ListNotes(c.GetUserId(), note.NotebookId.Hex(), false, c.GetPage(), 50, defaultSortField, false, false); + + // 如果指定了某笔记, 则该笔记放在首位 + lenNotes := len(notes) + if lenNotes > 1 { + notes2 := make([]info.Note, len(notes)) + notes2[0] = note + i := 1 + for _, note := range notes { + if note.NoteId.Hex() != noteId { + if i == lenNotes { // 防止越界 + break; + } + notes2[i] = note + i++ + } + } + notes = notes2 + } + } + } + + // 得到最近的笔记 + _, latestNotes := noteService.ListNotes(c.GetUserId(), "", false, c.GetPage(), 50, defaultSortField, false, false); + c.RenderArgs["latestNotes"] = latestNotes + } + + // 没有传入笔记 + // 那么得到最新笔记 + if !hasRightNoteId { + _, notes = noteService.ListNotes(c.GetUserId(), "", false, c.GetPage(), 50, defaultSortField, false, false); + if len(notes) > 0 { + noteContent = noteService.GetNoteContent(notes[0].NoteId.Hex(), userId) + c.RenderArgs["curNoteId"] = notes[0].NoteId.Hex() + } } } + // 当然, 还需要得到第一个notes的content //... - Log(configService.GetAdminUsername()) c.RenderArgs["isAdmin"] = configService.GetAdminUsername() == userInfo.Username c.RenderArgs["userInfo"] = userInfo c.RenderArgs["notebooks"] = notebooks - c.RenderArgs["shareNotebooks"] = shareNotebooks + c.RenderArgs["shareNotebooks"] = shareNotebooks // note信息在notes列表中 c.RenderArgs["sharedUserInfos"] = sharedUserInfos c.RenderArgs["notes"] = notes @@ -69,6 +124,7 @@ func (c Note) Index() revel.Result { c.RenderArgs["globalConfigs"] = configService.GetGlobalConfigForUser() + if isDev, _ := revel.Config.Bool("mode.dev"); isDev { return c.RenderTemplate("note/note-dev.html") } else { diff --git a/app/controllers/member/MemberGroupController.go b/app/controllers/member/MemberGroupController.go index 815857d..345a95d 100644 --- a/app/controllers/member/MemberGroupController.go +++ b/app/controllers/member/MemberGroupController.go @@ -35,7 +35,7 @@ func (c MemberGroup) UpdateGroupTitle(groupId, title string) revel.Result { func (c MemberGroup) DeleteGroup(groupId string) revel.Result { re := info.NewRe() re.Ok, re.Msg = groupService.DeleteGroup(c.GetUserId(), groupId) - return c.RenderJson(re) + return c.RenderRe(re) } // 添加用户 diff --git a/app/service/GroupService.go b/app/service/GroupService.go index 3dfc273..89c370c 100644 --- a/app/service/GroupService.go +++ b/app/service/GroupService.go @@ -27,9 +27,12 @@ func (this *GroupService) AddGroup(userId, title string) (bool, info.Group) { // 删除分组 // 判断是否有好友 func (this *GroupService) DeleteGroup(userId, groupId string) (ok bool, msg string) { + /* if db.Has(db.GroupUsers, bson.M{"GroupId": bson.ObjectIdHex(groupId)}) { - return false, "hasUsers" + return false, "groupHasUsers" } + */ + db.DeleteAll(db.GroupUsers, bson.M{"GroupId": bson.ObjectIdHex(groupId)}) return db.DeleteByIdAndUserId(db.Groups, groupId, userId), "" // TODO 删除分组后, 在shareNote, shareNotebook中也要删除 diff --git a/app/views/member/blog/add_single.html b/app/views/member/blog/add_single.html index 700fda8..5063aab 100644 --- a/app/views/member/blog/add_single.html +++ b/app/views/member/blog/add_single.html @@ -1,9 +1,9 @@ {{template "member/top.html" .}}

{{if .page}} -修改页面 +{{msg . "updateSingle"}} {{else}} -添加页面 +{{msg . "addSingle"}} {{end}}

@@ -16,18 +16,18 @@
- +
- +
diff --git a/app/views/member/blog/base.html b/app/views/member/blog/base.html index 67cf73f..999c86e 100644 --- a/app/views/member/blog/base.html +++ b/app/views/member/blog/base.html @@ -1,26 +1,23 @@ {{template "member/top.html" .}} -

{{msg . "baseInfoSet"}}

+

{{msg $ "basicInfoSet"}}

-
+
-
+
- -
- {{msg . "blogName"}} + -
- -
+ -
- -
- {{msg . "blogDesc"}} + -
diff --git a/app/views/member/blog/cate.html b/app/views/member/blog/cate.html index 27b4a75..ea23377 100644 --- a/app/views/member/blog/cate.html +++ b/app/views/member/blog/cate.html @@ -1,29 +1,37 @@ {{template "member/top.html" .}} -

(笔记本)分类

+

{{msg . "cate"}}

- 分类是公开为博客的笔记本 + {{msg . "cateIsPublicNotebook"}}
- 拖动可排序 + {{if .notebooks}} + {{msg . "dragAndSort"}}
    {{range .notebooks}}
  • - 固定链接: /cate/ + {{msg $ "permanentLink"}}: /cate/
    {{.Title}}
  • {{end}}
+ {{else}} + {{msg . "noCates"}} + {{end}}
+ + {{if .notebooks}}
- +
+ {{end}}
+
diff --git a/app/views/member/blog/comment.html b/app/views/member/blog/comment.html index 487ecf9..057d178 100644 --- a/app/views/member/blog/comment.html +++ b/app/views/member/blog/comment.html @@ -22,7 +22,7 @@ Default + {{if or (not .userBlog.CommentType) (eq .userBlog.CommentType "default")}}checked="checked"{{end}} > {{msg $ "defaultComment"}}
@@ -57,7 +59,7 @@
@@ -69,13 +71,13 @@ {{range .Users}}
  • {{.Username}} {{if not (eq .Email .Username)}}({{.Email}}){{end}} - +
  • {{end}}
  • - +
  • @@ -85,7 +87,7 @@
    {{template "member/footer.html" .}} - + -{{template "member/end.html" .}} \ No newline at end of file +{{template "member/end.html" .}} diff --git a/app/views/member/index.html b/app/views/member/index.html index a877e35..311d5d3 100644 --- a/app/views/member/index.html +++ b/app/views/member/index.html @@ -1,5 +1,5 @@ {{template "member/top.html" .}} -

    {{.userInfo.Username}}, 欢迎来到leanote

    +

    {{.userInfo.Username}}, {{msg . "welcomeToLeanote"}}.

    @@ -26,11 +26,10 @@
    -

    - Leanote 动态 + {{msg . "leanoteEvents"}}

      diff --git a/app/views/member/nav.html b/app/views/member/nav.html index c0a6191..7e04ba4 100644 --- a/app/views/member/nav.html +++ b/app/views/member/nav.html @@ -26,45 +26,47 @@ - 帐户信息 + {{msg . "accountInfo"}} --> - \ No newline at end of file + diff --git a/app/views/member/user/add_account.html b/app/views/member/user/add_account.html index 8c3f8c3..eef8571 100644 --- a/app/views/member/user/add_account.html +++ b/app/views/member/user/add_account.html @@ -1,9 +1,9 @@ {{template "member/top.html" .}} -

      用户名设置

      +

      {{msg . "addLeanoteAccount"}}

      -
      +
      diff --git a/app/views/member/user/avatar.html b/app/views/member/user/avatar.html index 0250c5d..89ab954 100644 --- a/app/views/member/user/avatar.html +++ b/app/views/member/user/avatar.html @@ -1,10 +1,10 @@ {{template "member/top.html" .}} -

      头像设置

      +

      {{msg . "avatar"}}

      -
      + diff --git a/app/views/member/user/email.html b/app/views/member/user/email.html index a09c139..f99878b 100644 --- a/app/views/member/user/email.html +++ b/app/views/member/user/email.html @@ -1,9 +1,9 @@ {{template "member/top.html" .}} -

      邮箱设置

      +

      {{msg . "email"}}

      -
      +
      diff --git a/app/views/member/user/password.html b/app/views/member/user/password.html index f055565..7a791e4 100644 --- a/app/views/member/user/password.html +++ b/app/views/member/user/password.html @@ -1,9 +1,7 @@ {{template "member/top.html" .}} -

      用户名设置

      - +

      {{msg . "password"}}

      - -
      +
      diff --git a/app/views/member/user/username.html b/app/views/member/user/username.html index a58f5aa..d0e572d 100644 --- a/app/views/member/user/username.html +++ b/app/views/member/user/username.html @@ -1,9 +1,9 @@ {{template "member/top.html" .}} -

      用户名设置

      +

      {{msg . "username"}}

      -
      +
      diff --git a/app/views/note/note-dev.html b/app/views/note/note-dev.html index fd1a152..9aeb1ea 100644 --- a/app/views/note/note-dev.html +++ b/app/views/note/note-dev.html @@ -12,17 +12,17 @@ - + - - + + @@ -184,6 +184,14 @@ function log(o) {
      + + - - - - + + + + - - + + - - - - - - - - + + + + + + + + diff --git a/app/views/note/note.html b/app/views/note/note.html index fc12cfa..2dfc97c 100644 --- a/app/views/note/note.html +++ b/app/views/note/note.html @@ -12,17 +12,17 @@ - + - - + + @@ -184,6 +184,14 @@ function log(o) {
      + + - - - - + + + + - - + + - - - - - - - - + + + + + + + + diff --git a/messages/msg.en b/messages/msg.en index 50ab020..976f480 100644 --- a/messages/msg.en +++ b/messages/msg.en @@ -129,9 +129,12 @@ themeSetting=Theme setAvatar=Avatar logout=Logout basicInfo=Basic +basicInfoSet=Blog Basic Setting updateEmail=Update email usernameSetting=Update username username=Username +avatar=Avatar +chooseImage=Choose Image oldPassword=Old password newPassword=New password admin=Admin @@ -144,7 +147,7 @@ uploadImage=Upload image # blog aboutMe=About me -blogSet=Set blog +blogSet=Blog Settings # index discussion=Discussion @@ -243,8 +246,94 @@ latest=Latest # 用户中心 memberCenter=Member Center -userNotExists=该成员沿未注册 -hasUsers=已存在该成员 +userNotExists=The user is not exists +hasUsers=The user already exists + +# yu +service=Service +imageSizeOver=Sorry, you have no image opacity, please upgrade your account. +attachSizeOver=Sorry, you have no attachment opacity, please upgrade your account. + + +#memeber +welcomeToLeanote=Welcome +accountInfo=Account Info +accountType=Account Type +premiumAccountType=Premium +normalAccountType=Normal +imageSize=Image Opacity +attachSize=Attachment Opacity +upgrade=Upgrade My Account +leanoteEvents=Leanote News +addLeanoteAccount=New Leanote Account +defaultComment=Default leanote comment system +upgradeAccountTips=I want to using a custom domain for my blog, Upgrade My Account +cateIsPublicNotebook=Category is the published notebooks +dragAndSort=Drag it to sort +permanentLink=Permanent Link +cate=Category +noCates=No Category +single=Single Page +singleTips=You can add many single pages +addSingle=New single page +updateSingle=Update single page +inputSingleTitle=Single page title is required +saveSort=Save sequencing +pagingAndSort=Paging And Sort Settings +perPageSize=Per page size +sortField=Sorter field +sortType=Sorter type +publicTime=Published time +createdTime=Created time +updatedTime=Updated time +desc=Desc +asc=Asc +postList=Post List +hasSelfDefined=Has defined +noSelfDefined=Not defined +setAbstract=Abstract settings +title=Title +content=Content + +addTheme=New theme +importTheme=Import theme +exportTheme=Export theme +export=Export +preview=Preview +edit=Edit +use=Use +install=Install +currentTheme=Current theme +myOtherThemes=My other themes +leanoteThemeMarket=Leanote theme market +updateTheme=Update Theme +tplStyleScript=template, style, script +newFile=New file +image=Image +currentFile=Current file +tpl=Template +style=Style +script=Script +header=Header +footer=Footer +index=Home +cate=Category +search=Search +single=Single Page +archive=Archive +post=Post +tags=Tags +tag_posts=Tag's posts +share_comment=Comments +themeJson=Theme settings +paging=Paging +highlight=Code highlight + +group=Group +newGroup=New group +deleteGroup=Delete group +addMemberTips=Input username or email to add member +deleteMember=Delete member # error notFound=This page cann't found. diff --git a/messages/msg.zh b/messages/msg.zh index 3e6b1f3..b93b6d1 100644 --- a/messages/msg.zh +++ b/messages/msg.zh @@ -150,9 +150,12 @@ themeSetting=主题设置 setAvatar=头像设置 logout=退出 basicInfo=基本信息 +basicInfoSet=博客基本设置 updateEmail=修改Email usernameSetting=用户名设置 username=用户名 +avatar=头像 +chooseImage=选择图片 oldPassword=旧密码 newPassword=新密码 admin=后台管理 @@ -272,5 +275,91 @@ memberCenter=用户中心 userNotExists=该成员沿未注册 hasUsers=已存在该成员 +# yu +service=服务 +imageSizeOver=对不起, 您的图片容量不足, 请升级您的帐户 +attachSizeOver=对不起, 您的附件容量不足, 请升级您的帐户 + +#memeber +welcomeToLeanote=欢迎来到leanote +accountInfo=帐户信息 +accountType=帐户类型 +premiumAccountType=彩色套餐 +normalAccountType=共享套餐 +imageSize=图片空间 +attachSize=附件空间 +upgrade=升级套餐 +leanoteEvents=Leanote动态 +addLeanoteAccount=新建Leanote帐户 +defaultComment=默认leanote评论系统 +upgradeAccountTips=Leanote支持绑定自己的域名到博客上, 请 升级您的帐户 +cateIsPublicNotebook=分类是公开为博客的笔记本 +dragAndSort=拖动可排序 +permanentLink=固定链接 +cate=分类 +noCates=无分类 +single=单页面 +singleTips=您可以添加多个单页面 +addSingle=添加单页面 +updateSingle=修改单页面 +inputSingleTitle=请输入单页面标题 +saveSort=保存排序 +pagingAndSort=分页与排序设置 +perPageSize=每页记录数 +sortField=排序字段 +sortType=排序类型 +publicTime=发表时间 +createdTime=创建时间 +updatedTime=更新时间 +desc=降序 +asc=升序 +postList=文章列表 +hasSelfDefined=已设置 +noSelfDefined=未设置 +setAbstract=摘要设置 +title=标题 +content=内容 + +addTheme=添加主题 +importTheme=导入主题 +exportTheme=导出主题 +export=导出 +preview=预览 +edit=编辑 +use=使用 +install=安装 +currentTheme=当前主题 +myOtherThemes=我的其它主题 +leanoteThemeMarket=Leanote主题市场 +updateTheme=编辑主题 +tplStyleScript=模板, 样式, 脚本 +newFile=新建文件 +image=图片 +currentFile=当前文件 +tpl=模板 +style=样式 +script=脚本 +header=头部 +footer=底部 +index=首页 +cate=分类页 +search=搜索页 +single=单页 +archive=归档页 +post=文章页 +tags=标签页 +tag_posts=标签文章页 +share_comment=分享评论 +themeJson=主题配置 +paging=分页 +highlight=高亮 + +group=用户组 +newGroup=新建组 +deleteGroup=删除组 +addMemberTips=输入用户名或邮箱添加成员 +deleteMember=删除成员 + + # 必须要加这个, 奇怪 [CN] diff --git a/public/css/css/editor-writting-mode.css b/public/css/css/editor-writting-mode.css new file mode 100644 index 0000000..05c6107 --- /dev/null +++ b/public/css/css/editor-writting-mode.css @@ -0,0 +1,15 @@ +html { + border: none; +} +body { + background-color: #fbfcf7; +} +* { + font-size: 16px; +} +pre { + font-size: 14px; +} +img { + max-width: 100% !important; +} diff --git a/public/css/css/editor.css b/public/css/css/editor.css new file mode 100644 index 0000000..d267dd3 --- /dev/null +++ b/public/css/css/editor.css @@ -0,0 +1,27 @@ +html { + margin-top: 3px; + padding: 3px; + border: 1px solid #ebeff2; + border-radius: 5px; + -webkit-border-radius: 5px; + border-width: 1px; + box-shadow: none; +} +* { + font-family: 'Open Sans', 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; +} +.mce-item-table, +.mce-item-table td, +.mce-item-table th, +.mce-item-table caption { + border: 1px solid #9B9898; + border-collapse: collapse; +} +img { + max-width: 100% !important; +} +@media screen and (max-width: 500px) { + * { + font-size: 16px; + } +} diff --git a/public/css/css/writting-overwrite.css b/public/css/css/writting-overwrite.css new file mode 100644 index 0000000..0b0ebce --- /dev/null +++ b/public/css/css/writting-overwrite.css @@ -0,0 +1,1927 @@ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url('../../fonts/open-sans2/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff') format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url('../../fonts/open-sans2/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff') format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url('../../fonts/open-sans2/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff') format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff'); +} +/* leanote */ +@font-face { + font-family: 'leanoteregular'; + src: url('../../fonts/leanote/leanote-regular-webfont.eot'); + src: url('../../fonts/leanote/leanote-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../../fonts/leanote/leanote-regular-webfont.woff') format('woff'), url('../../fonts/leanote/leanote-regular-webfont.ttf') format('truetype'), url('../../fonts/leanote/leanote-regular-webfont.svg#leanoteregular') format('svg'); + font-weight: normal; + font-style: normal; +} +/*"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue", Helvetica, "Microsoft Yahei", Verdana, Simsun, "Segoe UI", "Segoe UI Web Regular", "Segoe UI Symbol", "BBAlpha Sans", "S60 Sans", Arial, sans-serif;*/ +#noteItemList, +#notebook, +#leftNotebook, +.slimScrollDiv, +#editorContent_ifr, +.mce-edit-area, +.mce-container-body, +.mce-tinymce, +#editor .mce-ifr, +.wmd-input, +#noteReadContent, +#attachList, +#tags { + -webkit-overflow-scrolling: touch !important; +} +.btn { + border-radius: 2px; +} +.alert { + margin-bottom: 10px; +} +#logo { + font-family: "leanoteregular"; + font-size: 36px; +} +#logo:before { + content: "a"; +} +#switcher span { + font-family: "leanoteregular"; + border-radius: 5px; + display: inline-block; + cursor: pointer; + font-size: 18px; + height: 34px; + line-height: 34px; + margin-top: 8px; + padding: 0 5px; +} +#switcher span:before { + content: "b"; +} +.noteSplit { + position: absolute; + top: 0; + width: 5px; + height: 100%; + overflow: hidden; + z-index: 5; + cursor: col-resize; +} +.dropdown-menu { + border-radius: 3px; + margin: 0; + border: 1px solid #0fb264; + /*overflow-x: hidden; */ + /*overflow-y: scroll;*/ + box-shadow: rgba(0, 0, 0, 0.172549) 0px 6px 12px 0px; +} +.dropdown-menu:before { + content: ""; + width: 20px; + height: 12px; + position: absolute; + top: -12px; + right: 20px; + background-image: url("../../images/triangle_2x.png"); + background-size: 20px 12px; +} +.dropdown-submenu .dropdown-menu:before { + background: none; +} +#searchNotebookForAddDropdownList, +#searchNotebookForAddShareDropdownList { + left: -200px; +} +#searchNotebookForAddDropdownList:before, +#searchNotebookForAddShareDropdownList:before { + left: 190px; + right: inherit; +} +.dropdown-menu li { + list-style: none; + padding-left: 10px; + width: 100%; + height: 30px; + line-height: 30px; +} +.dropdown-menu li > a { + color: #000000; + display: block; + padding-right: 20px; +} +.dropdown-menu > li > a { + padding: 3px 20px 3px 0; +} +#notebookNavForNewNote li:hover { + background: none; +} +#noteList { + position: absolute; + bottom: 0; + top: 0; + /* + overflow-x: hidden; + overflow-y: hidden; + */ +} +#noteAndEditorMask { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: #fff; + text-align: center; + padding-top: 60px; + opacity: .3; + z-index: 20; + display: none; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > ul.dropdown-menu { + top: 0; + left: 100%; + margin-left: -3px !important; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + padding-top: 10px !important; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropdown-submenu:after { + display: block; + content: " "; + position: absolute; + right: 0; + top: 10px; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 5px 0 5px 5px; + border-left-color: #666; +} +.dropdown-submenu:hover > a:after { + border-left-color: #fff; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} +.open > .dropdown-menu, +.dropdown-submenu:hover > .dropdown-menu { + opacity: 1; + transform: scale(1, 1); + -webkit-transform: scale(1, 1); + -moz-transform: scale(1, 1); + -o-transform: scale(1, 1); +} +.dropdown-menu { + opacity: 0; + display: block; + -webkit-transform: scale(0, 0); + -webkit-transform-origin: top; + -webkit-animation-fill-mode: forwards; + -webkit-transition: all 0.2s cubic-bezier(0.34, 1.21, 0.4, 1); + -o-transform: scale(0, 0); + -o-transform-origin: top; + -o-animation-fill-mode: forwards; + -o-transition: all 0.2s cubic-bezier(0.34, 1.21, 0.4, 1); + -moz-transform: scale(0, 0); + -moz-transform-origin: top; + -moz-animation-fill-mode: forwards; + -moz-transition: all 0.2s cubic-bezier(0.34, 1.21, 0.4, 1); + transform: scale(0, 0); + transform-origin: top; + animation-fill-mode: forwards; + transition: all 0.2s cubic-bezier(0.34, 1.21, 0.4, 1); +} +.dropdown-list { + width: 530px; + border-radius: 3px; +} +.dropdown-list ul { + margin: 0; + padding: 0; +} +.dropdown-list ul li { + float: left; + width: 120px; + margin-left: 10px; + margin-bottom: 10px; + border: 1px dashed #ccc; +} +.new-note-right { + padding: 0 5px; + padding-left: 3px; +} +#leanoteMsg { + line-height: 40px; + margin-top: 10px; + margin-left: 10px; +} +#newNoteWrap { + line-height: 40px; + margin-top: 10px; +} +#searchNotebookForAdd { + line-height: normal; + width: 200px; + margin: 0 10px; + margin-bottom: 10px; + height: 30px; + border-color: #ebeff2; + box-shadow: none; +} +#myNotebooks .folderBody { + padding-top: 3px; +} +.folderBody { + overflow-x: hidden; +} +#searchNotebookForList { + height: 30px; + width: 90%; + margin: 3px auto; + margin-top: 0; + border-color: #ebeff2; + box-shadow: none; +} +#noteItemList .item-setting, +#noteItemList .item-blog { + position: absolute; + right: 1px; + font-size: 10px; + z-index: 2; + padding: 3px; + border-radius: 5px; + cursor: pointer; + width: 20px; + text-align: center; + opacity: 0.5; + background-color: #464C5E; +} +#noteItemList .item-setting .fa, +#noteItemList .item-blog .fa { + color: #fff !important; +} +#noteItemList .item-setting:hover, +#noteItemList .item-blog:hover { + opacity: 0.8; +} +#noteItemList .item-blog { + top: 1px; +} +#noteItemList .item-setting { + bottom: 0; + display: none; +} +#noteItemList .item:hover .item-setting { + display: block; +} +.friend-header { + position: relative; +} +.friend-header .notebook-setting { + display: none; +} +.friend-header:hover .notebook-setting { + display: block; +} +.each-user { + margin-bottom: 5px; + margin-left: 5px; + margin-right: 5px; + margin-top: 3px; + border: 1px solid #eee; + border-radius: 3px; +} +.notebook-number-notes { + position: absolute; + right: 10px; + top: 0; + bottom: 0; + z-index: 1; + display: inline-block; + line-height: 20px !important; + height: 20px; + margin-top: 5px; + padding: 0 3px; +} +.notebook-setting { + display: none; + position: absolute; + right: 1px; + top: 0; + bottom: 0; + z-index: 2; + line-height: 30px; +} +.notebook-setting:before { + content: "\f013"; +} +.ztree li a:hover .notebook-setting { + display: block; +} +#myTag .folderBody { + padding: 0 3px; + padding-bottom: 3px; +} +#myTag .folderBody li { + float: left; + padding: 3px; + line-height: normal; +} +#notebookList { + border-top: 1px solid rgba(255, 255, 255, 0.05); +} +.ztree { + padding: 0px; +} +#upload { + position: absolute; + z-index: 0; + bottom: 0; + right: 0; + left: 0px; + padding: 0; + background-color: #fff; + text-align: center; + display: none; +} +#upload #drop { + width: 100%; + height: 100%; + padding-top: 100px; +} +#drop.in { + border: 1px solid #000000; +} +#drop.hover { + border: 2px solid #000000; +} +#uploadMsg { + position: absolute; + top: 3px; + right: 3px; + bottom: 10px; + overflow: scroll; + list-style: none; +} +#uploadAttach { + position: relative; + margin-top: 5px; +} +.dropzone { + text-align: center; +} +.dropzone input { + display: none; +} +.dropzone.in { + border: 1px solid #000000; +} +.dropzone.hover { + border: 2px solid #000000; +} +#attachUploadMsg, +#avatarUploadMsg { + list-style-type: none; + margin: 0; + padding: 0; + max-height: 240px; + z-index: 3; +} +#attachUploadMsg .alert, +#avatarUploadMsg .alert { + margin: 0; + padding: 0 3px; + margin-top: 10px; +} +#attachMenu { + width: 450px; + padding: 10px 5px; +} +#attachList { + margin: 0; + padding: 0; + max-height: 450px; + overflow-y: auto; +} +#attachList li { + display: block; + margin: 0; + padding: 0 3px; + border-radius: 3px; + border-bottom: 1px dashed #eee; + height: 45px; + line-height: 45px; +} +#attachList li div { + float: left; +} +#attachList li .attach-title { + width: 290px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +#attachList li .attach-process { + float: right; +} +#attachList li.loading { + text-align: center; +} +.animated { + -webkit-animation-fill-mode: both; + -moz-animation-fill-mode: both; + -ms-animation-fill-mode: both; + -o-animation-fill-mode: both; + animation-fill-mode: both; + -webkit-animation-duration: 0.5s; + -moz-animation-duration: 0.5s; + -ms-animation-duration: 0.5s; + -o-animation-duration: 0.5s; + animation-duration: 0.5s; +} +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-moz-keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-o-keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +.fadeIn { + -webkit-animation-name: fadeIn; + -moz-animation-name: fadeIn; + -o-animation-name: fadeIn; + animation-name: fadeIn; +} +@-webkit-keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translateY(20px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@-moz-keyframes fadeInUp { + 0% { + opacity: 0; + -moz-transform: translateY(20px); + } + 100% { + opacity: 1; + -moz-transform: translateY(0); + } +} +@-o-keyframes fadeInUp { + 0% { + opacity: 0; + -o-transform: translateY(20px); + } + 100% { + opacity: 1; + -o-transform: translateY(0); + } +} +@keyframes fadeInUp { + 0% { + opacity: 0; + transform: translateY(20px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +.fadeInUp { + -webkit-animation-name: fadeInUp; + -moz-animation-name: fadeInUp; + -o-animation-name: fadeInUp; + animation-name: fadeInUp; +} +#historyList img { + max-width: 100%; +} +#avatar { + height: 60px; + max-width: 200px; + display: inline-block; + margin: 10px; +} +#noteReadTitle { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +#noteReadInfo { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + color: #666; +} +.my-link, +.new-markdown-text-abbr, +.new-note-text-abbr { + display: none; +} +#myAvatar { + height: 30px; + max-width: 30px; + overflow: hidden; + border-radius: 50%; +} +#tool { + position: relative; +} +#tag { + position: absolute; + right: 300px; + left: 0; + top: 0; + bottom: 0; +} +#tagColor { + left: 10px; +} +#tagColor:before { + content: ""; + background-image: none; +} +#addTagInput { + width: 100px; +} +#notesAndSort { + height: 36px; +} +#noteItemListWrap { + position: absolute; + left: 0; + right: 0; + top: 36px; + bottom: 3px; +} +#mdEditorPreview { + position: absolute; + top: 35px; + left: 0; + right: 0; + bottom: 0; +} +#left-column, +#right-column, +#mdSplitter { + position: absolute; + top: 0; + bottom: 0; +} +#mdSplitter { + width: 5px; + height: 100%; + overflow: hidden; + z-index: 5; + cursor: col-resize; + left: 450px; + background: none; +} +#left-column { + left: 0; + width: 450px; +} +#right-column { + left: 450px; + right: 0; + overflow: hidden; +} +.wmd-panel-editor, +.preview-container, +#wmd-input { + height: 100%; +} +.wmd-input, +.wmd-input:focus, +#md-section-helper { + width: 100%; + border: 1px #eee solid; + border-radius: 5px; + outline: none; + font-size: 14px; + resize: none; + overflow-x: hidden; +} +/* 不能为display: none */ +#md-section-helper { + position: absolute; + height: 0; + overflow-y: scroll; + padding: 0 6px; + top: 10px; + /*一条横线....*/ + z-index: -1; + opacity: none; +} +#right-column { + border: 1px dashed #BBBBBB; + border-radius: 5px; + padding-left: 5px; +} +.preview-container { + overflow: auto; +} +.wmd-preview { + width: 100%; + font-size: 14px; + overflow: auto; + overflow-x: hidden; +} +.wmd-button-row, +.preview-button-row { + padding: 0px; + height: auto; + margin: 0; +} +.wmd-spacer { + width: 0px; + height: 20px; + margin-left: 10px; + background-color: Silver; + display: inline-block; + list-style: none; +} +.wmd-button, +.preview-button { + width: 20px; + height: 20px; + display: inline-block; + list-style: none; + cursor: pointer; + font-size: 17px; +} +.wmd-button { + margin-left: 10px; +} +.preview-button { + margin-right: 10px; +} +.wmd-button > span, +.preview-button > span { + width: 20px; + height: 20px; + display: inline-block; + font-size: 14px; +} +.top-nav { + margin: 0 10px; + display: inline-block; + line-height: 60px; +} +.cm-item { + position: relative; +} +.cm-item .cm-text { + position: absolute; + left: 23px; + right: 10px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.cm-item .cm-text .c-text { + display: initial; +} +.b-m-mpanel { + border-radius: 3px; +} +/* item list */ +#noteItemList { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + width: 100%; + overflow-y: hidden; + padding: 0 5px; +} +#noteItemList .item { + position: relative; + height: 110px; + overflow: hidden; + cursor: pointer; + border: 1px solid #ebeff2; + border-radius: 3px; + margin-top: 5px; + background-color: #fff; +} +#noteItemList .item:hover, +#noteItemList .contextmenu-hover { + background-color: #ddd !important; +} +.item-active, +#noteItemList .item-active:hover { + background-color: #65bd77 !important; + color: #fff; +} +.item-active .fa, +#noteItemList .item-active:hover .fa { + color: #eee !important; +} +.item-active .item-title, +#noteItemList .item-active:hover .item-title { + color: #fff; +} +#noteItemList .item-thumb { + width: 100px; + overflow: hidden; + position: absolute; + z-index: 1; + right: 0px; + top: 4px; + height: 100px; + background-color: #fff; + margin-right: 5px; + line-height: 100px; + text-align: center; +} +.item-thumb img { + max-width: 100px; +} +.item-title { + /*font-weight: 400;*/ + font-size: 16px; + height: 22px; + line-height: 20px; + overflow: hidden; + margin-bottom: 0px; + color: #000000; + border-bottom: dashed 1px #ebeff2; +} +#noteItemList .item-desc { + position: absolute; + left: 0; + top: 4px; + right: 0px; + margin-left: 4px; +} +#noteItemList .item-desc .fa { + color: #666; +} +#noteItemList .item-image .item-desc { + right: 100px; +} +.item-info { + margin: 0; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.desc { + margin: 0; +} +#editorMask { + position: absolute; + top: 0px; + bottom: 0px; + right: 0; + left: 0; + background-color: #fff; + display: none; + z-index: -10; + padding-top: 50px; + text-align: center; +} +#editorMask .fa, +#editorMask a { + font-size: 24px; +} +#editorMask a { + display: inline-block; + border-radius: 3px; + border: 1px solid #ebeff2; + padding: 10px; +} +#editorMask a:hover { + background-color: #65bd77; + color: #fff; +} +.note-mask { + position: absolute; + top: 0px; + bottom: 0px; + right: 0; + left: 3px; + z-index: -1; +} +#noteMaskForLoading { + padding-top: 60px; + background: #fff; + text-align: center; + opacity: .3; +} +#themeForm td { + padding: 5px; + text-align: center; +} +#themeForm img { + border: 1px solid #eee; + padding: 2px; +} +.dropdown-menu .divider { + margin: 3px 0; +} +.ace_eidtor, +.ace_editor * { + font: 12px / normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; +} +#editorContent { + border: 1px solid #ccc; + border-radius: 5px; + padding: 5px; + outline: none; + margin-top: 5px; +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url('../../fonts/open-sans2/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff') format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url('../../fonts/open-sans2/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff') format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url('../../fonts/open-sans2/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff') format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/open-sans2/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff') format('woff'); +} +/*"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue", Helvetica, "Microsoft Yahei", Verdana, Simsun, "Segoe UI", "Segoe UI Web Regular", "Segoe UI Symbol", "BBAlpha Sans", "S60 Sans", Arial, sans-serif;*/ +::selection { + background: #000000; + color: #ffffff; +} +::-moz-selection { + background: #000000; + color: #ffffff; +} +::-webkit-selection { + background: #000000; + color: #ffffff; +} +html, +body { + background-color: #fbfcf7; +} +*, +body { + font-family: 'Open Sans', 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; + font-weight: 300; + font-size: 16px; +} +h1, +h2, +h3 { + font-family: 'Open Sans', 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; + font-weight: 300 !important; +} +a { + color: #000000; + cursor: pointer; +} +a:hover { + text-decoration: none !important; + color: #000000; +} +a.raw { + color: #428bca; +} +a.raw:hover { + color: #2a6496; +} +/* header */ +#header { + height: 60px; + background-color: #fbfcf7; + color: #ffffff; + border-bottom: 1px solid #ebeff2; + /* for app */ + webkit-user-select: none; + /* 还不知 */ + -webkit-app-region: drag; + /* -webkit-app-region: no-drag; */ +} +#header a { + color: #ccc; +} +#header li { + color: #000000; +} +#header li a { + color: #000000; +} +#searchWrap, +#logo, +#switcher, +#leftNotebook, +.noteSplit { + display: none; +} +#header ul { + margin: 0; + padding: 0; + list-style: none; +} +#header ul li.dropdown { + display: inline-block; + height: 60px; +} +#header ul > li > a.dropdown-toggle { + display: block; + padding: 15px 5px 0 0; + position: relative; +} +#header span.icon { + display: inline-block; + font-size: 28px; + color: #999999; +} +.dropdown-menu { + border-radius: 0; + margin: 0; + -webkit-box-shadow: none; + box-shadow: none; + border: 1px solid #0fb264; + overflow: visible; +} +.dropdown-menu li { + padding-left: 10px; + width: 100%; + height: 30px; + line-height: 30px; +} +.dropdown-menu > li > a { + color: #000000; + display: inline-block; + padding: 3px 3px; +} +.dropdown-menu > li:hover, +.dropdown-menu > li:focus { + background-color: #ebeff2; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + background-color: #ebeff2; +} +.ios7-a { + display: inline-block; + padding: 0 10px 0 5px; + height: 40px; + vertical-align: middle; + line-height: 38px; + cursor: pointer; +} +/*********************/ +#page { + overflow: auto; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; +} +#pageInner { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + overflow: hidden; +} +#mainContainer { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: auto; + zoom: 1; +} +#search { + border: #bababa 1px solid; + background-color: #fff; + white-space: nowrap; + position: absolute; + height: 30px; + left: 3px; + right: 60px; + margin-top: 3px; +} +#search label { + display: none; +} +#searchButton { + border: 0 none; + width: 16px; + height: 16px; + overflow: hidden; + cursor: pointer; + position: absolute; + right: 3px; + top: 5px; +} +#searchInput { + border: 0 none; + overflow: hidden; + position: absolute; + right: 20px; + left: 0px; + padding-left: 10px; + height: 28px; +} +#searchInput:focus { + border: none; + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +#notesAndSort { + background-color: #eee; + border-bottom: 1px solid #ebeff2; +} +/* item list */ +#noteItemList { + position: absolute; + left: 0; + right: 0; + bottom: 0; + top: 0; + width: 100%; + overflow-y: hidden; + background-color: #f7f7f7; + padding: 0 5px; +} +#noteItemList .item { + position: relative; + height: 110px; + overflow: hidden; + cursor: pointer; + padding: 5px; + border: 1px solid #ebeff2; + border-radius: 3px; + margin-top: 5px; + background-color: #fff; +} +#noteItemList .item:hover, +#noteItemList .contextmenu-hover { + background-color: #ddd !important; + color: #000000; +} +#noteItemList .item-thumb { + padding-left: 10px; + width: 100px; + overflow: hidden; + position: absolute; + right: 0px; + height: 100px; + background-color: #fff; + margin-right: 5px; +} +.item-thumb img { + width: 100px; +} +#noteItemList .item-desc { + position: absolute; + left: 0; + right: 100px; + margin-left: 4px; +} +#noteItemList .item-desc .fa { + color: #666; +} +#noteItemList .item-blog { + position: absolute; + right: 1px; + font-size: 10px; + z-index: 2; + top: 1px; + padding: 3px; + cursor: pointer; + width: 20px; + text-align: center; + opacity: 0.5; + background-color: #464C5E; +} +#noteItemList .item-blog .fa { + color: #fff !important; +} +#noteItemList .item-blog:hover { + opacity: 0.8; +} +.item-title { + /*font-weight: 400;*/ + font-size: 16px; + height: 22px; + line-height: 20px; + overflow: hidden; + margin-bottom: 0px; + color: #000000; + border-bottom: dashed 1px #ebeff2; +} +/* note */ +/* editor */ +#editorTool { + margin: 0; + padding: 0; + list-style: none; +} +#editorTool li { + display: inline-block; +} +#noteTitle:focus { + outline: none !important; +} +#editor, +#mdEditor { + z-index: 2; + top: 71px; + bottom: 0px; + right: 0; + left: 0; + padding: 0; + display: none; +} +#mdEditor { + z-index: 1; + background-color: #fff; + bottom: 10px; +} +#mdEditor #md-section-helper, +#mdEditor #wmd-input { + font-size: 14px; + line-height: 22px; +} +#editorContent { + position: absolute; + top: 30px; + bottom: 10px; + right: 0; + left: 0; + overflow: auto; +} +/* 包裹iframe */ +#editor .mce-ifr { + border: none; + overflow: hidden !important; + /*不知道哪里设置了auto*/ + /*border-radius: 5px;*/ +} +/* 最顶层 */ +#editor .mce-tinymce { + border: none; +} +/*编辑器按钮*/ +#mceToolbar, +#wmd-button-bar { + position: relative; + height: 30px; + overflow: hidden; + background-color: #fbfcf7; +} +/* 编辑器工具 需要important, 因为mce还要有js加载css, 肯定在此之后 */ +/*加高, 之前显得拥挤*/ +.mce-btn-small button { + padding: 5px 5px !important; + line-height: 20px !important; +} +.mce-btn { + background-color: #fbfcf7 !important; +} +.mce-menubtn.mce-btn-small span { + line-height: 20px !important; +} +.mce-btn span { + font-family: 'Open Sans', 'Helvetica Neue', Arial, 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif !important; +} +.mce-primary button, +.mce-primary button i { + text-shadow: none; +} +.mce-primary { + background-color: #47a447 !important; + border-color: #398439 !important; +} +.mce-menu-item:hover, +.mce-menu-item.mce-selected, +.mce-menu-item:focus { + background-color: #ebeff2; +} +.mce-menu-item:hover span, +.mce-menu-item.mce-selected span, +.mce-menu-item:focus span { + color: #000 !important; +} +.mce-menu-item-normal.mce-active { + background-color: #ebeff2; +} +.tool-split { + display: inline-block; + line-height: 25px; + color: #ddd; +} +/*标签与其它工具*/ +#tool { + display: none; + border-bottom: 1px solid #ddd; +} +/* tag */ +#tag { + height: 40px; + line-height: 38px; +} +#tag .dropdown { + line-height: 30px; +} +#addTagInput { + line-height: 25px; + display: none; + padding: 0; + border: none; + background-color: #fbfcf7; +} +#addTagInput:focus { + outline: none; +} +.label-default { + background-color: #464C5E; +} +.label-red { + background-color: #d9534f; +} +.label-yellow { + background-color: #f0ad4e; +} +.label-blue { + background-color: #428bca; +} +.label-green { + background-color: #5cb85c; +} +.label { + border-radius: 0; + font-weight: normal; +} +.label i { + width: 10px; + cursor: pointer; + font-style: normal; + /*border-left: 1px solid #ccc;*/ + display: inline-block; + padding-left: 3px; + opacity: 0; +} +.label i:hover { + opacity: 1; +} +/* leanote nav */ +#leanoteNav { + position: absolute; + right: 5px; + border: 1px solid #ccc; + border-radius: 3px; + background-color: #fff; + opacity: 0.5; + z-index: 11; + margin-right: 2px; +} +#leanoteNav h1 { + margin: 0; + font-size: 18px; + padding: 3px; + cursor: pointer; +} +#leanoteNav i { + padding: 3px; +} +#leanoteNav span { + display: none; +} +#leanoteNav #leanoteNavContent { + display: none; + overflow: auto; +} +#leanoteNav.unfolder { + min-width: 200px; + max-width: 300px; + opacity: 0.8; +} +#leanoteNav.unfolder h1 { + border-bottom: 1px dashed #ebeff2; +} +#leanoteNav.unfolder span { + display: inline; +} +#leanoteNav.unfolder #leanoteNavContent { + display: block; + min-height: 30px; +} +#leanoteNav ul { + margin: 0; + padding-left: 23px; +} +#leanoteNav ul li { + list-style-type: disc; +} +#leanoteNav ul li a:hover { + color: #0fb264; +} +#leanoteNav ul .nav-h2 { + margin-left: 20px; +} +#leanoteNav ul .nav-h3 { + margin-left: 30px; +} +#leanoteNav ul .nav-h4 { + margin-left: 40px; +} +#leanoteNav ul .nav-h5 { + margin-left: 50px; +} +.scrollTo-a { + cursor: pointer !important; +} +#noteRead { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + display: none; + z-index: 100; + padding-left: 5px; + background-color: #fff; +} +#noteReadContainer { + position: relative; + width: 100%; + height: 100%; +} +#noteReadTop { + position: absolute; + height: 60px; + left: 0; + right: 0; + border-bottom: 1px solid #ebeff2; +} +#noteReadTitle { + margin: 3px 0; +} +#noteReadContent { + position: absolute; + top: 60px; + bottom: 0; + right: 0; + left: 0; + overflow: auto; + padding: 3px; +} +/*scroll*/ +/* +::-webkit-scrollbar { + width: 5px; + height: 8px; + background: none; +} + +::-webkit-scrollbar-thumb { + background-color: #41586e; + opacity: 0.1; +} +::-webkit-scrollbar-thumb:hover { + background-color:#dadada +} +::-webkit-scrollbar-thumb:active { + background-color:#606060 +} +::-webkit-scrollbar-thumb:disabled { + background-color:#f9f9f9 +} +::-webkit-scrollbar-corner { + background-color:#f0f0f0 +} +::-webkit-scrollbar-button { + height: 0; + background-color:#f0f0f0; + background-repeat:no-repeat +} +::-webkit-scrollbar-button:vertical { + height:0px +} +::-webkit-scrollbar-button:horizontal { + width:33px +} +::-webkit-scrollbar-button:horizontal:increment { + background-position:0 -444px +} +::-webkit-scrollbar-button:horizontal:decrement { + background-position:12px -425px +} +::-webkit-scrollbar-button:vertical:increment { + background-position:-1px -391px +} +::-webkit-scrollbar-button:vertical:decrement { + background-position:-1px -358px +} +::-webkit-scrollbar-button:hover { + background-color:#dadada +} +::-webkit-scrollbar-button:horizontal:increment:hover { + background-position:0 -548px +} +::-webkit-scrollbar-button:horizontal:decrement:hover { + background-position:12px -529px +} +::-webkit-scrollbar-button:vertical:increment:hover { + background-position:-1px -495px +} +::-webkit-scrollbar-button:vertical:decrement:hover { + background-position:-1px -462px +} +::-webkit-scrollbar-button:active { + background-color:#606060 +} +::-webkit-scrollbar-button:horizontal:increment:active { + background-position:0 -652px +} +::-webkit-scrollbar-button:horizontal:decrement:active { +background-position:12px -633px +} +::-webkit-scrollbar-button:vertical:increment:active { +background-position:-1px -599px +} +::-webkit-scrollbar-button:vertical:decrement:active { +background-position:-1px -566px +} +::-webkit-scrollbar-button:disabled { +background-color:#f9f9f9 +} +::-webkit-scrollbar-button:horizontal:increment:disabled { +background-position:0 -756px +} +::-webkit-scrollbar-button:horizontal:decrement:disabled { +background-position:12px -737px +} +::-webkit-scrollbar-button:vertical:increment:disabled { +background-position:-1px -703px +} +::-webkit-scrollbar-button:vertical:decrement:disabled { +background-position:-1px -670px +} +*/ +/*from notebook*/ +/*::-webkit-scrollbar{width:7px;height:7px;}::-webkit-scrollbar-thumb{background-color:rgba(50,50,50,0.3);}::-webkit-scrollbar-thumb:hover{background-color:rgba(50,50,50,0.6);}::-webkit-scrollbar-track{background-color:rgba(50,50,50,0.1);}::-webkit-scrollbar-track:hover{background-color:rgba(50,50,50,0.2);} +*/ +.fa-calendar { + color: #666; +} +.dropdown-menu .fa { + width: 15px; +} +.dropdown-menu span, +.dropdown-menu a, +.dropdown-menu li { + cursor: default; +} +#topNav a { + display: inline-block; + line-height: 60px; +} +.tab-pane { + padding: 5px 0 0 0; +} +.alert { + margin-bottom: 10px; +} +.btn { + border-radius: 0 !important; +} +#notebookNavForNewNote li, +#notebookNavForNewSharedNote > li { + padding-left: 0; + border-bottom: 1px solid #ebeff2; +} +#notebookNavForNewNote > li:hover, +#notebookNavForNewNote > li:focus, +#notebookNavForNewSharedNote > li:hover, +#notebookNavForNewSharedNote > li:focus { + background: none; +} +.new-note-left { + padding: 0 5px; + width: 95px; + overflow: hidden; + white-space: nowrap; + border-right: 1px dashed #ebeff2; +} +.new-note-left:hover { + background-color: #ebeff2; +} +.new-note-right { + padding: 0 5px; +} +.new-note-right:hover { + background-color: #ebeff2; +} +#historyList table { + width: 100%; +} +#historyList .btns { + border-top: 1px dashed #eee; + padding: 5px 0; +} +#left-column { + width: 100% !important; +} +#editorMask { + position: absolute; + top: 0px; + bottom: 0px; + right: 0; + left: 0; + background-color: #fff; + z-index: -10; + padding-top: 50px; + text-align: center; +} +#editorMask .fa, +#editorMask a { + font-size: 24px; +} +#editorMask a { + display: inline-block; + border-radius: 3px; + border: 1px solid #ebeff2; + padding: 10px; +} +#editorMask a:hover { + background-color: #65bd77; + color: #fff; +} +html, +body { + background-color: #fbfcf7; + overflow: hidden; +} +#right-column, +#newNoteMarkdownBtn, +#newShareNoteMarkdownBtn, +.new-split, +#editorMask, +#sortType, +#myProfile, +#demoRegister { + display: none; +} +#mainMask { + position: absolute; + left: 0; + right: 0; + bottom: 0; + top: 0; + background-color: #fbfcf7; + text-align: center; + padding-top: 100px; + z-index: 1000; +} +#header { + position: absolute; + left: 0; + right: 0; + z-index: 333; + color: #ccc; +} +#header #leanoteMsg { + position: absolute; + width: 700px; + left: 0; + right: 0; + text-align: right; + line-height: 60px; + margin: auto; +} +#newNoteWrap { + line-height: 40px; + margin-top: 10px; + margin-left: 10px; +} +#newNoteWrap, +#topNav, +#lea { + opacity: 0; +} +#newNoteWrap:hover, +#topNav:hover, +#lea:hover { + opacity: 1; +} +#mainContainer { + overflow-y: hidden; +} +#newMyNote, +#newSharedNote { + position: relative; +} +#newMyNote .dropdown, +#newSharedNote .dropdown { + position: static; +} +.dropdown-menu { + border: 1px solid #ccc; + background-color: #fbfcf7; +} +#note { + position: absolute; + width: 700px; + margin: auto; + height: 100%; + left: 0; + right: 0; +} +#editor, +#mdEditor { + position: absolute; + top: 60px; + z-index: 2; +} +#wmd-input { + border: none; + background-color: #fbfcf7; + font-size: 16px !important; +} +#md-section-helper { + display: none; +} +#mdEditorPreview { + top: 43px !important; +} +#mceToolbar, +#wmd-button-bar { + height: 40px; + padding: 5px 0; +} +.editorBg { + height: 3px; + background: url(/images/editor/editor-shadow.png) no-repeat center bottom #f9faf4; +} +.mce-btn-small i, +.mce-menubtn.mce-btn-small span, +.wmd-button > span { + opacity: 0.85; +} +.mce-ico { + font-size: 18px; + line-height: 18px; + width: 18px; + height: 18px; +} +.tool-split { + line-height: 30px; +} +.mce-menubtn.mce-fixed-width.mce-btn-small span { + width: 80px; +} +.mce-menubtn.mce-btn-small span { + font-size: 16px; +} +#editorContent_ifr html { + border: none !important; +} +#noteTop { + position: absolute; + z-index: 999; + left: 0; + right: 150px; + padding: 15px 0; + height: 59px; +} +#noteTitleDiv { + height: 30px; +} +#noteTitle { + height: 100%; + padding: 0px 3px; + width: 100%; + border: none; + background-color: #fbfcf7; +} +#noteList { + position: fixed; + top: 0; + bottom: 0; + left: 10px; + margin-top: 60px; + width: 200px; + z-index: 0; + opacity: 0.8; + overflow-x: hidden; + overflow-y: hidden; + /* + &:hover { + #noteItemListWrap { + display: block; + } + #notesAndSort { + display: block; + } + } + */ +} +#noteList #notesAndSort { + display: none; +} +#noteList #noteItemListWrap { + display: none; +} +#notesAndSort { + background: none; +} +#noteItemList { + background: none; +} +#noteItemList .item { + background: none; +} +.item-active, +#noteItemList .item-active:hover { + background-color: #F5F8EA !important; + color: #000; +} +.item-active .item-desc .fa, +#noteItemList .item-active:hover .item-desc .fa { + color: #666 !important; +} +.item-active .item-title, +#noteItemList .item-active:hover .item-title { + color: #000; +} +#leanoteNav { + background-color: #fbfcf7; + opacity: 0.3; + right: -30px; +} +.new-note-right { + padding: 0 2px; +} +#loading { + display: inline-block; + width: 20px; + height: 20px; + content: url(../../images/loading-a-20-black.gif); + margin-top: 10px; + visibility: hidden; +} +#moreBtn { + right: 0 !important; +} +#toggleEditorMode { + margin: 0 10px !important; +} +#upload { + position: absolute; + z-index: 0; + bottom: 0; + right: 0; + left: 0px; + padding: 0; + background-color: #fff; + text-align: center; + display: none; +} +#upload #drop { + width: 100%; + height: 100%; + padding-top: 100px; +} +#drop.in { + border: 1px solid #000000; +} +#drop.hover { + border: 2px solid #000000; +} +#uploadMsg { + position: absolute; + top: 3px; + right: 3px; + bottom: 10px; + overflow: scroll; + list-style: none; +} +#searchNotebookForAddDropdownList { + left: 0; +} +#searchNotebookForAdd { + background: none; +} +.writting-hide { + display: none; +} +@media screen and (max-width: 800px) { + #leanoteMsg { + display: none; + } + #noteItemList, + #notebook, + #leftNotebook, + .slimScrollDiv, + #editorContent_ifr, + .mce-edit-area, + .mce-container-body, + .mce-tinymce, + #editor .mce-ifr, + .wmd-input, + #noteReadContent, + #attachList, + #tags { + overflow: scroll !important; + -webkit-overflow-scrolling: touch !important; + } +} +@media screen and (max-device-width: 1024px) and (orientation: landscape) { + #noteItemList, + #notebook, + #leftNotebook, + .slimScrollDiv, + #editorContent_ifr, + .mce-edit-area, + .mce-container-body, + .mce-tinymce, + #editor .mce-ifr, + .wmd-input, + #noteReadContent, + #attachList, + #tags { + overflow: scroll !important; + -webkit-overflow-scrolling: touch !important; + } +} diff --git a/public/css/theme/basic.less b/public/css/theme/basic.less index 32df0af..5452f3f 100644 --- a/public/css/theme/basic.less +++ b/public/css/theme/basic.less @@ -149,6 +149,20 @@ overflow-y: hidden; */ } +// 笔记列表与editor的遮罩 +#noteAndEditorMask { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: #fff; + text-align: center; + padding-top: 60px; + opacity: .3; + z-index: 20; + display: none; +} //----------------- // 下拉菜单 @@ -625,7 +639,7 @@ max-width: 30px; overflow: hidden; // border: 1px solid #ccc; - border-radius: 50%; + border-radius: 50%; } #tool { position: relative; @@ -940,4 +954,17 @@ top: 4px; .dropdown-menu .divider { margin: 3px 0; +} + +// ace 重置css, 必须 +.ace_eidtor, .ace_editor * { + font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; +} + +#editorContent { + border: 1px solid #ccc; + border-radius: 5px; + padding: 5px; + outline: none; + margin-top: 5px; } \ No newline at end of file diff --git a/public/css/theme/default.css b/public/css/theme/default.css index 76d9540..47ed79f 100644 --- a/public/css/theme/default.css +++ b/public/css/theme/default.css @@ -139,6 +139,19 @@ overflow-y: hidden; */ } +#noteAndEditorMask { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: #fff; + text-align: center; + padding-top: 60px; + opacity: .3; + z-index: 20; + display: none; +} .dropdown-submenu { position: relative; } @@ -869,6 +882,17 @@ .dropdown-menu .divider { margin: 3px 0; } +.ace_eidtor, +.ace_editor * { + font: 12px / normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; +} +#editorContent { + border: 1px solid #ccc; + border-radius: 5px; + padding: 5px; + outline: none; + margin-top: 5px; +} ::selection { background: #000000; color: #ffffff; @@ -2012,8 +2036,8 @@ background-position:-1px -670px #noteReadContent, #attachList, #tags { - overflow: scroll !important; -webkit-overflow-scrolling: touch !important; + overflow: auto !important; } #attachMenu { width: 320px; @@ -2053,7 +2077,7 @@ background-position:-1px -670px opacity: 0.8; } } -@media screen and (max-device-width: 1024px) and (orientation: landscape) { +@media screen and (max-width: 1024px) { #noteItemList, #notebook, #leftNotebook, @@ -2067,12 +2091,12 @@ background-position:-1px -670px #noteReadContent, #attachList, #tags { - overflow: scroll !important; + overflow: auto !important; -webkit-overflow-scrolling: touch !important; } #tag { position: absolute; - right: 140px; + right: 310px; left: 0; top: 0; bottom: 0; @@ -2121,7 +2145,7 @@ background-position:-1px -670px #noteReadContent, #attachList, #tags { - overflow: scroll !important; + overflow: auto !important; -webkit-overflow-scrolling: touch !important; } #lea, diff --git a/public/css/theme/mobile.less b/public/css/theme/mobile.less index e0de044..3cb55e4 100644 --- a/public/css/theme/mobile.less +++ b/public/css/theme/mobile.less @@ -216,8 +216,8 @@ a:focus, a:hover, a:active { #attachList, #tags { - overflow: scroll !important; -webkit-overflow-scrolling: touch !important; // for iphone + overflow: auto !important; } #attachMenu { @@ -265,7 +265,8 @@ a:focus, a:hover, a:active { } // ipad -@media screen and (max-device-width: 1024px) and (orientation: landscape) { +// @media screen and (max-device-width: 1024px) and (orientation: landscape) { +@media screen and (max-width: 1024px) { #noteItemList, #notebook, #leftNotebook, .slimScrollDiv, #editorContent_ifr, @@ -276,13 +277,13 @@ a:focus, a:hover, a:active { #attachList, #tags { - overflow: scroll !important; + overflow: auto !important; -webkit-overflow-scrolling: touch !important; // for iphone } #tag { position: absolute; - right: 140px; + right: 310px; left:0; top:0; bottom:0; @@ -332,7 +333,7 @@ a:focus, a:hover, a:active { #attachList, #tags { - overflow: scroll !important; + overflow: auto !important; -webkit-overflow-scrolling: touch !important; // for iphone } diff --git a/public/css/theme/simple.css b/public/css/theme/simple.css index 24f07da..18e0abc 100644 --- a/public/css/theme/simple.css +++ b/public/css/theme/simple.css @@ -139,6 +139,19 @@ overflow-y: hidden; */ } +#noteAndEditorMask { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: #fff; + text-align: center; + padding-top: 60px; + opacity: .3; + z-index: 20; + display: none; +} .dropdown-submenu { position: relative; } @@ -869,6 +882,17 @@ .dropdown-menu .divider { margin: 3px 0; } +.ace_eidtor, +.ace_editor * { + font: 12px / normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; +} +#editorContent { + border: 1px solid #ccc; + border-radius: 5px; + padding: 5px; + outline: none; + margin-top: 5px; +} ::selection { background: #000000; color: #ffffff; @@ -1947,8 +1971,8 @@ background-position:-1px -670px #noteReadContent, #attachList, #tags { - overflow: scroll !important; -webkit-overflow-scrolling: touch !important; + overflow: auto !important; } #attachMenu { width: 320px; @@ -1988,7 +2012,7 @@ background-position:-1px -670px opacity: 0.8; } } -@media screen and (max-device-width: 1024px) and (orientation: landscape) { +@media screen and (max-width: 1024px) { #noteItemList, #notebook, #leftNotebook, @@ -2002,12 +2026,12 @@ background-position:-1px -670px #noteReadContent, #attachList, #tags { - overflow: scroll !important; + overflow: auto !important; -webkit-overflow-scrolling: touch !important; } #tag { position: absolute; - right: 140px; + right: 310px; left: 0; top: 0; bottom: 0; @@ -2056,7 +2080,7 @@ background-position:-1px -670px #noteReadContent, #attachList, #tags { - overflow: scroll !important; + overflow: auto !important; -webkit-overflow-scrolling: touch !important; } #lea, diff --git a/public/css/theme/writting-overwrite.css b/public/css/theme/writting-overwrite.css index e03ece6..0b0ebce 100644 --- a/public/css/theme/writting-overwrite.css +++ b/public/css/theme/writting-overwrite.css @@ -139,6 +139,19 @@ overflow-y: hidden; */ } +#noteAndEditorMask { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: #fff; + text-align: center; + padding-top: 60px; + opacity: .3; + z-index: 20; + display: none; +} .dropdown-submenu { position: relative; } @@ -869,6 +882,17 @@ .dropdown-menu .divider { margin: 3px 0; } +.ace_eidtor, +.ace_editor * { + font: 12px / normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; +} +#editorContent { + border: 1px solid #ccc; + border-radius: 5px; + padding: 5px; + outline: none; + margin-top: 5px; +} @font-face { font-family: 'Open Sans'; font-style: normal; diff --git a/public/css/theme/writting.css b/public/css/theme/writting.css index 90f8fed..0fddf9f 100644 --- a/public/css/theme/writting.css +++ b/public/css/theme/writting.css @@ -139,6 +139,19 @@ overflow-y: hidden; */ } +#noteAndEditorMask { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background: #fff; + text-align: center; + padding-top: 60px; + opacity: .3; + z-index: 20; + display: none; +} .dropdown-submenu { position: relative; } @@ -869,6 +882,17 @@ .dropdown-menu .divider { margin: 3px 0; } +.ace_eidtor, +.ace_editor * { + font: 12px / normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; +} +#editorContent { + border: 1px solid #ccc; + border-radius: 5px; + padding: 5px; + outline: none; + margin-top: 5px; +} @font-face { font-family: 'Open Sans'; font-style: normal; diff --git a/public/js/all.js b/public/js/all.js index 8cc520a..f634b30 100644 --- a/public/js/all.js +++ b/public/js/all.js @@ -1,2 +1,2 @@ (function(factory){factory(jQuery)})(function($){var pluses=/\+/g;function encode(s){return config.raw?s:encodeURIComponent(s)}function decode(s){return config.raw?s:decodeURIComponent(s)}function stringifyCookieValue(value){return encode(config.json?JSON.stringify(value):String(value))}function parseCookieValue(s){if(s.indexOf('"')===0){s=s.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\")}try{s=decodeURIComponent(s.replace(pluses," "));return config.json?JSON.parse(s):s}catch(e){}}function read(s,converter){var value=config.raw?s:parseCookieValue(s);return $.isFunction(converter)?converter(value):value}var config=$.cookie=function(key,value,options){if(value!==undefined&&!$.isFunction(value)){options=$.extend({},config.defaults,options);if(typeof options.expires==="number"){var days=options.expires,t=options.expires=new Date;t.setTime(+t+days*864e5)}return document.cookie=[encode(key),"=",stringifyCookieValue(value),options.expires?"; expires="+options.expires.toUTCString():"",options.path?"; path="+options.path:"",options.domain?"; domain="+options.domain:"",options.secure?"; secure":""].join("")}var result=key?undefined:{};var cookies=document.cookie?document.cookie.split("; "):[];for(var i=0,l=cookies.length;ithis.$items.length-1||pos<0)return;if(this.sliding)return this.$element.one("slid",function(){that.to(pos)});if(activeIndex==pos)return this.pause().cycle();return this.slide(pos>activeIndex?"next":"prev",$(this.$items[pos]))};Carousel.prototype.pause=function(e){e||(this.paused=true);if(this.$element.find(".next, .prev").length&&$.support.transition.end){this.$element.trigger($.support.transition.end);this.cycle(true)}this.interval=clearInterval(this.interval);return this};Carousel.prototype.next=function(){if(this.sliding)return;return this.slide("next")};Carousel.prototype.prev=function(){if(this.sliding)return;return this.slide("prev")};Carousel.prototype.slide=function(type,next){var $active=this.$element.find(".item.active");var $next=next||$active[type]();var isCycling=this.interval;var direction=type=="next"?"left":"right";var fallback=type=="next"?"first":"last";var that=this;if(!$next.length){if(!this.options.wrap)return;$next=this.$element.find(".item")[fallback]()}this.sliding=true;isCycling&&this.pause();var e=$.Event("slide.bs.carousel",{relatedTarget:$next[0],direction:direction});if($next.hasClass("active"))return;if(this.$indicators.length){this.$indicators.find(".active").removeClass("active");this.$element.one("slid",function(){var $nextIndicator=$(that.$indicators.children()[that.getActiveIndex()]);$nextIndicator&&$nextIndicator.addClass("active")})}if($.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(e);if(e.isDefaultPrevented())return;$next.addClass(type);$next[0].offsetWidth;$active.addClass(direction);$next.addClass(direction);$active.one($.support.transition.end,function(){$next.removeClass([type,direction].join(" ")).addClass("active");$active.removeClass(["active",direction].join(" "));that.sliding=false;setTimeout(function(){that.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{this.$element.trigger(e);if(e.isDefaultPrevented())return;$active.removeClass("active");$next.addClass("active");this.sliding=false;this.$element.trigger("slid")}isCycling&&this.cycle();return this};var old=$.fn.carousel;$.fn.carousel=function(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.carousel");var options=$.extend({},Carousel.DEFAULTS,$this.data(),typeof option=="object"&&option);var action=typeof option=="string"?option:options.slide;if(!data)$this.data("bs.carousel",data=new Carousel(this,options));if(typeof option=="number")data.to(option);else if(action)data[action]();else if(options.interval)data.pause().cycle()})};$.fn.carousel.Constructor=Carousel;$.fn.carousel.noConflict=function(){$.fn.carousel=old;return this};$(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(e){var $this=$(this),href;var $target=$($this.attr("data-target")||(href=$this.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,""));var options=$.extend({},$target.data(),$this.data());var slideIndex=$this.attr("data-slide-to");if(slideIndex)options.interval=false;$target.carousel(options);if(slideIndex=$this.attr("data-slide-to")){$target.data("bs.carousel").to(slideIndex)}e.preventDefault()});$(window).on("load",function(){$('[data-ride="carousel"]').each(function(){var $carousel=$(this);$carousel.carousel($carousel.data())})})}(jQuery);+function($){"use strict";var Collapse=function(element,options){this.$element=$(element);this.options=$.extend({},Collapse.DEFAULTS,options);this.transitioning=null;if(this.options.parent)this.$parent=$(this.options.parent);if(this.options.toggle)this.toggle()};Collapse.DEFAULTS={toggle:true};Collapse.prototype.dimension=function(){var hasWidth=this.$element.hasClass("width");return hasWidth?"width":"height"};Collapse.prototype.show=function(){if(this.transitioning||this.$element.hasClass("in"))return;var startEvent=$.Event("show.bs.collapse");this.$element.trigger(startEvent);if(startEvent.isDefaultPrevented())return;var actives=this.$parent&&this.$parent.find("> .panel > .in");if(actives&&actives.length){var hasData=actives.data("bs.collapse");if(hasData&&hasData.transitioning)return;actives.collapse("hide");hasData||actives.data("bs.collapse",null)}var dimension=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[dimension](0);this.transitioning=1;var complete=function(){this.$element.removeClass("collapsing").addClass("in")[dimension]("auto");this.transitioning=0;this.$element.trigger("shown.bs.collapse")};if(!$.support.transition)return complete.call(this);var scrollSize=$.camelCase(["scroll",dimension].join("-"));this.$element.one($.support.transition.end,$.proxy(complete,this)).emulateTransitionEnd(350)[dimension](this.$element[0][scrollSize])};Collapse.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass("in"))return;var startEvent=$.Event("hide.bs.collapse");this.$element.trigger(startEvent);if(startEvent.isDefaultPrevented())return;var dimension=this.dimension();this.$element[dimension](this.$element[dimension]())[0].offsetHeight;this.$element.addClass("collapsing").removeClass("collapse").removeClass("in");this.transitioning=1;var complete=function(){this.transitioning=0;this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};if(!$.support.transition)return complete.call(this);this.$element[dimension](0).one($.support.transition.end,$.proxy(complete,this)).emulateTransitionEnd(350)};Collapse.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var old=$.fn.collapse;$.fn.collapse=function(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.collapse");var options=$.extend({},Collapse.DEFAULTS,$this.data(),typeof option=="object"&&option);if(!data)$this.data("bs.collapse",data=new Collapse(this,options));if(typeof option=="string")data[option]()})};$.fn.collapse.Constructor=Collapse;$.fn.collapse.noConflict=function(){$.fn.collapse=old;return this};$(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(e){var $this=$(this),href;var target=$this.attr("data-target")||e.preventDefault()||(href=$this.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,"");var $target=$(target);var data=$target.data("bs.collapse");var option=data?"toggle":$this.data();var parent=$this.attr("data-parent");var $parent=parent&&$(parent);if(!data||!data.transitioning){if($parent)$parent.find('[data-toggle=collapse][data-parent="'+parent+'"]').not($this).addClass("collapsed");$this[$target.hasClass("in")?"addClass":"removeClass"]("collapsed")}$target.collapse(option)})}(jQuery);+function($){"use strict";var backdrop=".dropdown-backdrop";var toggle="[data-toggle=dropdown]";var Dropdown=function(element){var $el=$(element).on("click.bs.dropdown",this.toggle)};Dropdown.prototype.toggle=function(e){var $this=$(this);if($this.is(".disabled, :disabled"))return;var $parent=getParent($this);var isActive=$parent.hasClass("open");clearMenus();if(!isActive){if("ontouchstart"in document.documentElement&&!$parent.closest(".navbar-nav").length){$('");MarkdownEditor.refreshPreview()}else{setTimeout(function(){setEditorContent(content,true,preview)},200)}}}}function previewIsEmpty(preview){if(!preview||preview.substr(0,previewToken.length)==previewToken){return true}return false}function getEditorContent(isMarkdown){if(!isMarkdown){var editor=tinymce.activeEditor;if(editor){var content=$(editor.getBody());content.find("pinit").remove();content.find(".thunderpin").remove();content.find(".pin").parent().remove();content=$(content).html();if(content){while(true){var lastEndScriptPos=content.lastIndexOf("");if(lastEndScriptPos==-1){return content}var length=content.length;if(length-9==lastEndScriptPos){var lastScriptPos=content.lastIndexOf("");if(lastEndScriptPos==-1){return content}var length=content.length;if(length-9==lastEndScriptPos){var lastScriptPos=content.lastIndexOf("");if(lastEndScriptPos==-1){return content}var length=content.length;if(length-9==lastEndScriptPos){var lastScriptPos=content.lastIndexOf("");if(lastEndScriptPos==-1){return content}var length=content.length;if(length-9==lastEndScriptPos){var lastScriptPos=content.lastIndexOf("\nsnippet scriptsrc\n \nsnippet section\n
      \n ${1}\n
      \nsnippet section.\n
      \n ${2}\n
      \nsnippet section#\n
      \n ${2}\n
      \nsnippet select\n \nsnippet select.\n \nsnippet small\n ${1}\nsnippet source\n \nsnippet span\n ${1}\nsnippet strong\n ${1}\nsnippet style\n \nsnippet sub\n ${1}\nsnippet summary\n \n ${1}\n \nsnippet sup\n ${1}\nsnippet table\n \n ${2}\n
      \nsnippet table.\n \n ${3}\n
      \nsnippet table#\n \n ${3}\n
      \nsnippet tbody\n \n ${1}\n \nsnippet td\n ${1}\nsnippet td.\n ${2}\nsnippet td#\n ${2}\nsnippet td+\n ${1}\n td+${2}\nsnippet textarea\n ${6}\nsnippet tfoot\n \n ${1}\n \nsnippet th\n ${1}\nsnippet th.\n ${2}\nsnippet th#\n ${2}\nsnippet th+\n ${1}\n th+${2}\nsnippet thead\n \n ${1}\n \nsnippet time\n