├── app ├── Listeners │ └── .gitkeep ├── Policies │ └── .gitkeep ├── Events │ └── Event.php ├── Http │ ├── Requests │ │ └── Request.php │ ├── Routes │ │ └── ToolRoutes.php │ ├── Middleware │ │ ├── EncryptCookies.php │ │ ├── AuthorizeMiddleware.php │ │ ├── RedirectIfAuthenticated.php │ │ ├── VerifyCsrfToken.php │ │ ├── Authenticate.php │ │ ├── ToolMiddleware.php │ │ ├── SuperMemberMiddleware.php │ │ └── InstallMiddleware.php │ └── Controllers │ │ ├── ToolController.php │ │ ├── SearchController.php │ │ ├── SettingController.php │ │ └── QrCodeController.php ├── Exceptions │ ├── FormatException.php │ ├── ResultException.php │ ├── ArgumentException.php │ ├── ResultExistException.php │ ├── ResultNullException.php │ ├── ArgumentNullException.php │ ├── ArgumentOutOfRangeException.php │ ├── DataException.php │ └── DataNullException.php ├── Models │ ├── ModelBase.php │ ├── Relationship.php │ ├── RequestShare.php │ ├── RequestModel.php │ └── Attachment.php ├── Providers │ ├── AppServiceProvider.php │ └── AuthServiceProvider.php ├── Jobs │ └── Job.php ├── Console │ ├── Commands │ │ ├── VersionCommand.php │ │ └── Inspire.php │ └── Kernel.php ├── Observers │ ├── MemberObservers.php │ ├── RequestModelObservers.php │ └── WikiConfigObservers.php └── Extentions │ └── Markdown │ ├── Parser │ └── AutoLinkParser.php │ └── Renderer │ ├── DocumentRenderer.php │ └── HttpMethodRenderer.php ├── database ├── seeds │ ├── .gitkeep │ └── DatabaseSeeder.php ├── .gitignore ├── migrations │ ├── .gitkeep │ ├── 2014_10_12_100000_create_password_resets_table.php │ └── 2014_10_12_000000_create_users_table.php └── factories │ └── ModelFactory.php ├── resources ├── views │ ├── vendor │ │ └── .gitkeep │ ├── member │ │ └── register.blade.php │ ├── template │ │ ├── dictionary.blade.php │ │ ├── text.blade.php │ │ └── api.blade.php │ ├── widget │ │ ├── footer.blade.php │ │ ├── project.blade.php │ │ ├── browse.blade.php │ │ ├── usermenu.blade.php │ │ └── project_member.blade.php │ ├── runapi │ │ ├── params.blade.php │ │ ├── shareitem.blade.php │ │ ├── api.blade.php │ │ └── markdown.blade.php │ └── welcome.blade.php ├── assets │ └── sass │ │ └── app.scss ├── chrome │ ├── image │ │ ├── 128x128.png │ │ ├── 16x16.png │ │ ├── 24x24.png │ │ ├── 48x48.png │ │ ├── logo_1050.png │ │ └── logo_135.png │ ├── popups │ │ ├── popup.js │ │ └── popup.html │ └── manifest.json ├── data │ ├── v0.4.0.sql │ └── v0.3.3.sql └── lang │ └── en │ ├── pagination.php │ ├── auth.php │ └── passwords.php ├── public ├── static │ ├── images │ │ ├── background │ │ │ ├── index.htm │ │ │ ├── background1.jpg │ │ │ ├── background2.jpg │ │ │ ├── background3.jpg │ │ │ ├── background4.jpg │ │ │ ├── background5.jpg │ │ │ ├── background6.jpg │ │ │ ├── background7.jpg │ │ │ └── background8.jpg │ │ ├── tree.png │ │ ├── empty.png │ │ ├── middle.gif │ │ ├── icons │ │ │ ├── 16x16.ico │ │ │ ├── 16x16.png │ │ │ ├── 24x24.ico │ │ │ ├── 24x24.png │ │ │ ├── 32x32.ico │ │ │ ├── 32x32.png │ │ │ ├── 48x48.ico │ │ │ ├── 48x48.png │ │ │ ├── 64x64.ico │ │ │ ├── 64x64.png │ │ │ ├── 72x72.ico │ │ │ ├── 72x72.png │ │ │ ├── 96x96.ico │ │ │ ├── 96x96.png │ │ │ ├── 128x128.ico │ │ │ ├── 128x128.png │ │ │ └── 800x800.png │ │ ├── 938_longfei6671.jpg │ │ └── project_default.png │ ├── scripts │ │ └── scripts.js │ ├── webuploader │ │ ├── Uploader.swf │ │ └── webuploader.css │ ├── editormd │ │ ├── images │ │ │ ├── loading.gif │ │ │ ├── loading@2x.gif │ │ │ ├── loading@3x.gif │ │ │ ├── logos │ │ │ │ ├── vi.png │ │ │ │ ├── editormd-logo-16x16.png │ │ │ │ ├── editormd-logo-24x24.png │ │ │ │ ├── editormd-logo-32x32.png │ │ │ │ ├── editormd-logo-48x48.png │ │ │ │ ├── editormd-logo-57x57.png │ │ │ │ ├── editormd-logo-64x64.png │ │ │ │ ├── editormd-logo-72x72.png │ │ │ │ ├── editormd-logo-96x96.png │ │ │ │ ├── editormd-logo-114x114.png │ │ │ │ ├── editormd-logo-120x120.png │ │ │ │ ├── editormd-logo-144x144.png │ │ │ │ ├── editormd-logo-180x180.png │ │ │ │ ├── editormd-logo-240x240.png │ │ │ │ ├── editormd-logo-320x320.png │ │ │ │ ├── editormd-favicon-16x16.ico │ │ │ │ ├── editormd-favicon-24x24.ico │ │ │ │ ├── editormd-favicon-32x32.ico │ │ │ │ ├── editormd-favicon-48x48.ico │ │ │ │ └── editormd-favicon-64x64.ico │ │ │ └── attachicons │ │ │ │ ├── pdf.gif │ │ │ │ ├── rar.gif │ │ │ │ ├── zip.gif │ │ │ │ ├── flash.gif │ │ │ │ ├── html.gif │ │ │ │ ├── text.gif │ │ │ │ └── msoffice.gif │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── editormd-logo.eot │ │ │ ├── editormd-logo.ttf │ │ │ ├── editormd-logo.woff │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ ├── fontawesome-webfont.woff2 │ │ │ └── editormd-logo.svg │ │ └── lib │ │ │ └── codemirror │ │ │ ├── theme │ │ │ ├── ambiance-mobile.css │ │ │ ├── neat.css │ │ │ ├── elegant.css │ │ │ ├── neo.css │ │ │ └── eclipse.css │ │ │ ├── addon │ │ │ ├── display │ │ │ │ └── fullscreen.css │ │ │ ├── search │ │ │ │ └── matchesonscrollbar.css │ │ │ ├── fold │ │ │ │ └── foldgutter.css │ │ │ ├── dialog │ │ │ │ └── dialog.css │ │ │ ├── hint │ │ │ │ └── show-hint.css │ │ │ ├── mode │ │ │ │ └── multiplex_test.js │ │ │ ├── lint │ │ │ │ ├── yaml-lint.js │ │ │ │ ├── json-lint.js │ │ │ │ └── css-lint.js │ │ │ └── edit │ │ │ │ └── trailingspace.js │ │ │ ├── mode │ │ │ ├── tiddlywiki │ │ │ │ └── tiddlywiki.css │ │ │ ├── ruby │ │ │ │ └── test.js │ │ │ └── tiki │ │ │ │ └── tiki.css │ │ │ ├── bower.json │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ └── LICENSE │ ├── layer │ │ └── skin │ │ │ ├── default │ │ │ ├── icon.png │ │ │ ├── icon-ext.png │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ │ │ └── moon │ │ │ └── default.png │ ├── highlight │ │ ├── styles │ │ │ ├── pojoaque.jpg │ │ │ ├── school-book.png │ │ │ ├── brown-papersq.png │ │ │ ├── darkula.css │ │ │ ├── ascetic.css │ │ │ ├── mono-blue.css │ │ │ ├── androidstudio.css │ │ │ ├── dark.css │ │ │ ├── codepen-embed.css │ │ │ ├── brown-paper.css │ │ │ ├── vs.css │ │ │ ├── far.css │ │ │ ├── arta.css │ │ │ ├── ir-black.css │ │ │ ├── magula.css │ │ │ ├── color-brewer.css │ │ │ ├── github-gist.css │ │ │ ├── monokai.css │ │ │ ├── darcula.css │ │ │ └── tomorrow.css │ │ ├── languages │ │ │ ├── vbscript-html.js │ │ │ ├── clojure-repl.js │ │ │ ├── erb.js │ │ │ ├── ldif.js │ │ │ ├── bnf.js │ │ │ ├── mojolicious.js │ │ │ ├── dockerfile.js │ │ │ ├── fix.js │ │ │ ├── csp.js │ │ │ ├── clean.js │ │ │ ├── ebnf.js │ │ │ ├── profile.js │ │ │ ├── brainfuck.js │ │ │ ├── golo.js │ │ │ ├── mizar.js │ │ │ ├── subunit.js │ │ │ ├── taggerscript.js │ │ │ ├── tap.js │ │ │ ├── dust.js │ │ │ ├── gherkin.js │ │ │ ├── accesslog.js │ │ │ ├── json.js │ │ │ ├── diff.js │ │ │ ├── handlebars.js │ │ │ ├── makefile.js │ │ │ ├── thrift.js │ │ │ ├── parser3.js │ │ │ ├── axapta.js │ │ │ ├── protobuf.js │ │ │ └── flix.js │ │ └── highlightjs-line-numbers.min.js │ ├── jstree │ │ └── themes │ │ │ ├── default │ │ │ ├── 32px.png │ │ │ ├── 40px.png │ │ │ └── throbber.gif │ │ │ └── default-dark │ │ │ ├── 32px.png │ │ │ ├── 40px.png │ │ │ └── throbber.gif │ ├── bootstrap │ │ ├── icheck │ │ │ └── skins │ │ │ │ ├── flat │ │ │ │ ├── red.png │ │ │ │ ├── aero.png │ │ │ │ ├── blue.png │ │ │ │ ├── flat.png │ │ │ │ ├── green.png │ │ │ │ ├── grey.png │ │ │ │ ├── pink.png │ │ │ │ ├── aero@2x.png │ │ │ │ ├── blue@2x.png │ │ │ │ ├── flat@2x.png │ │ │ │ ├── green@2x.png │ │ │ │ ├── grey@2x.png │ │ │ │ ├── orange.png │ │ │ │ ├── pink@2x.png │ │ │ │ ├── purple.png │ │ │ │ ├── red@2x.png │ │ │ │ ├── yellow.png │ │ │ │ ├── orange@2x.png │ │ │ │ ├── purple@2x.png │ │ │ │ └── yellow@2x.png │ │ │ │ ├── line │ │ │ │ ├── line.png │ │ │ │ └── line@2x.png │ │ │ │ ├── square │ │ │ │ ├── red.png │ │ │ │ ├── aero.png │ │ │ │ ├── blue.png │ │ │ │ ├── green.png │ │ │ │ ├── grey.png │ │ │ │ ├── orange.png │ │ │ │ ├── pink.png │ │ │ │ ├── purple.png │ │ │ │ ├── red@2x.png │ │ │ │ ├── square.png │ │ │ │ ├── yellow.png │ │ │ │ ├── aero@2x.png │ │ │ │ ├── blue@2x.png │ │ │ │ ├── green@2x.png │ │ │ │ ├── grey@2x.png │ │ │ │ ├── pink@2x.png │ │ │ │ ├── orange@2x.png │ │ │ │ ├── purple@2x.png │ │ │ │ ├── square@2x.png │ │ │ │ └── yellow@2x.png │ │ │ │ ├── minimal │ │ │ │ ├── aero.png │ │ │ │ ├── blue.png │ │ │ │ ├── green.png │ │ │ │ ├── grey.png │ │ │ │ ├── pink.png │ │ │ │ ├── red.png │ │ │ │ ├── aero@2x.png │ │ │ │ ├── blue@2x.png │ │ │ │ ├── grey@2x.png │ │ │ │ ├── minimal.png │ │ │ │ ├── orange.png │ │ │ │ ├── pink@2x.png │ │ │ │ ├── purple.png │ │ │ │ ├── red@2x.png │ │ │ │ ├── yellow.png │ │ │ │ ├── green@2x.png │ │ │ │ ├── minimal@2x.png │ │ │ │ ├── orange@2x.png │ │ │ │ ├── purple@2x.png │ │ │ │ └── yellow@2x.png │ │ │ │ ├── polaris │ │ │ │ ├── polaris.png │ │ │ │ └── polaris@2x.png │ │ │ │ └── futurico │ │ │ │ ├── futurico.png │ │ │ │ └── futurico@2x.png │ │ └── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ └── glyphicons-halflings-regular.woff │ ├── font-awesome │ │ └── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ ├── codemirror │ │ ├── theme │ │ │ ├── ambiance-mobile.css │ │ │ ├── neat.css │ │ │ ├── elegant.css │ │ │ ├── neo.css │ │ │ └── eclipse.css │ │ ├── addon │ │ │ ├── display │ │ │ │ └── fullscreen.css │ │ │ ├── search │ │ │ │ └── matchesonscrollbar.css │ │ │ ├── fold │ │ │ │ └── foldgutter.css │ │ │ ├── dialog │ │ │ │ └── dialog.css │ │ │ ├── hint │ │ │ │ └── show-hint.css │ │ │ ├── lint │ │ │ │ ├── yaml-lint.js │ │ │ │ ├── json-lint.js │ │ │ │ └── css-lint.js │ │ │ ├── mode │ │ │ │ └── multiplex_test.js │ │ │ └── edit │ │ │ │ └── trailingspace.js │ │ └── mode │ │ │ ├── tiddlywiki │ │ │ └── tiddlywiki.css │ │ │ ├── ruby │ │ │ └── test.js │ │ │ ├── css │ │ │ └── gss_test.js │ │ │ ├── tiki │ │ │ └── tiki.css │ │ │ ├── rust │ │ │ └── test.js │ │ │ └── python │ │ │ └── test.js │ └── fonts │ │ ├── lato │ │ └── v11 │ │ │ ├── GtRkRNTnri0g82CjKnEB0Q.woff2 │ │ │ └── eFRpvGLEW31oiexbYNx7Y_esZW2xOQ-xsNqO47m55DA.woff2 │ │ └── lato-100.css ├── robots.txt ├── favicon.ico ├── uploads │ ├── 201611 │ │ ├── 582035cc7aff5_582035cc.jpg │ │ └── 5820362320c3a_58203623.jpg │ └── user │ │ └── 201611 │ │ ├── 5822d57bbc789_5822d57b.jpg │ │ ├── 5822d64c8e9db_5822d64c.jpg │ │ ├── 5822d57bbc789_5822d57b_small.jpg │ │ └── 5822d64c8e9db_5822d64c_small.jpg ├── .htaccess └── web.config ├── bootstrap ├── cache │ └── .gitignore └── autoload.php ├── storage ├── logs │ └── .gitignore ├── app │ ├── public │ │ └── .gitignore │ ├── .gitignore │ ├── fonts │ │ ├── actionj.ttf │ │ ├── Flim-Flam.ttf │ │ ├── ApothecaryFont.ttf │ │ ├── D3Parallelism.ttf │ │ └── DeborahFancyDress.ttf │ └── images │ │ ├── 20161124082553.png │ │ ├── 20161124082647.png │ │ ├── 20161124082703.png │ │ ├── 20161124082810.png │ │ └── 20161124082844.png └── framework │ ├── cache │ └── .gitignore │ ├── views │ └── .gitignore │ ├── sessions │ └── .gitignore │ └── .gitignore ├── package.json ├── config ├── system.php ├── image.php ├── compile.php ├── services.php ├── view.php └── attachicons.php ├── .gitignore ├── tests ├── ExampleTest.php └── TestCase.php ├── server.php └── .env.example /app/Listeners/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/Policies/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /database/seeds/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | -------------------------------------------------------------------------------- /database/migrations/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /resources/views/vendor/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/static/images/background/index.htm: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /public/static/scripts/scripts.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | 3 | }); -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifei6671/SmartWiki/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/static/images/tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifei6671/SmartWiki/HEAD/public/static/images/tree.png -------------------------------------------------------------------------------- /resources/assets/sass/app.scss: -------------------------------------------------------------------------------- 1 | // @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap"; 2 | 3 | -------------------------------------------------------------------------------- /storage/app/fonts/actionj.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifei6671/SmartWiki/HEAD/storage/app/fonts/actionj.ttf -------------------------------------------------------------------------------- /public/static/images/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifei6671/SmartWiki/HEAD/public/static/images/empty.png -------------------------------------------------------------------------------- /public/static/images/middle.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifei6671/SmartWiki/HEAD/public/static/images/middle.gif -------------------------------------------------------------------------------- /storage/app/fonts/Flim-Flam.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lifei6671/SmartWiki/HEAD/storage/app/fonts/Flim-Flam.ttf -------------------------------------------------------------------------------- /app/Events/Event.php: -------------------------------------------------------------------------------- 1 | call(UsersTableSeeder::class); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/mode/tiddlywiki/tiddlywiki.css: -------------------------------------------------------------------------------- 1 | span.cm-underlined { 2 | text-decoration: underline; 3 | } 4 | span.cm-strikethrough { 5 | text-decoration: line-through; 6 | } 7 | span.cm-brace { 8 | color: #170; 9 | font-weight: bold; 10 | } 11 | span.cm-table { 12 | color: blue; 13 | font-weight: bold; 14 | } 15 | -------------------------------------------------------------------------------- /app/Exceptions/FormatException.php: -------------------------------------------------------------------------------- 1 | 120, 10 | /** 11 | * 用户头像高度 12 | */ 13 | 'avatar_large_height' => 120, 14 | /*** 15 | * 用户头像小图宽 16 | */ 17 | 'avatar_small_width' => 60, 18 | /** 19 | * 用户头像小图高 20 | */ 21 | 'avatar_small_height' => 60 22 | ]; -------------------------------------------------------------------------------- /app/Exceptions/ArgumentOutOfRangeException.php: -------------------------------------------------------------------------------- 1 | visit('/') 17 | ->see('Laravel 5'); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /public/static/highlight/languages/vbscript-html.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: VBScript in HTML 3 | Requires: xml.js, vbscript.js 4 | Author: Ivan Sagalaev 5 | Description: "Bridge" language defining fragments of VBScript in HTML within <% .. %> 6 | Category: scripting 7 | */ 8 | 9 | function(hljs) { 10 | return { 11 | subLanguage: 'xml', 12 | contains: [ 13 | { 14 | begin: '<%', end: '%>', 15 | subLanguage: 'vbscript' 16 | } 17 | ] 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /resources/data/v0.4.0.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO wk_config (name, `key`, value, config_type, remark, create_time) SELECT '是否启用注册','ENABLED_REGISTER','0','system','是否启用注册:0 否/1 是',now() FROM dual WHERE NOT exists(SELECT * FROM wk_config WHERE `key` = 'ENABLED_REGISTER'); 2 | INSERT INTO wk_config (name, `key`, value, config_type, remark, create_time) SELECT '注册默认的用户角色','DEFAULT_GROUP_LEVEL','1','system','注册默认的用户角色:0 超级管理员/1 普通用户/ 2 访客',now() FROM dual WHERE NOT exists(SELECT * FROM wk_config WHERE `key` = 'DEFAULT_GROUP_LEVEL'); 3 | -------------------------------------------------------------------------------- /public/static/highlight/languages/clojure-repl.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Clojure REPL 3 | Description: Clojure REPL sessions 4 | Author: Ivan Sagalaev 5 | Requires: clojure.js 6 | Category: lisp 7 | */ 8 | 9 | function(hljs) { 10 | return { 11 | contains: [ 12 | { 13 | className: 'meta', 14 | begin: /^([\w.-]+|\s*#_)=>/, 15 | starts: { 16 | end: /$/, 17 | subLanguage: 'clojure' 18 | } 19 | } 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/Exceptions/DataException.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 11 | 12 |
13 |
14 | -------------------------------------------------------------------------------- /resources/views/widget/project.blade.php: -------------------------------------------------------------------------------- 1 |
  • 2 | 3 |
    4 | 5 |
    6 |

    {{$project_name}}

    7 | 共{{$doc_count}}个文档 8 |
    9 | 14 |
  • -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/mode/tiki/tiki.css: -------------------------------------------------------------------------------- 1 | .cm-tw-syntaxerror { 2 | color: #FFF; 3 | background-color: #900; 4 | } 5 | 6 | .cm-tw-deleted { 7 | text-decoration: line-through; 8 | } 9 | 10 | .cm-tw-header5 { 11 | font-weight: bold; 12 | } 13 | .cm-tw-listitem:first-child { /*Added first child to fix duplicate padding when highlighting*/ 14 | padding-left: 10px; 15 | } 16 | 17 | .cm-tw-box { 18 | border-top-width: 0px ! important; 19 | border-style: solid; 20 | border-width: 1px; 21 | border-color: inherit; 22 | } 23 | 24 | .cm-tw-underline { 25 | text-decoration: underline; 26 | } -------------------------------------------------------------------------------- /config/image.php: -------------------------------------------------------------------------------- 1 | 'gd' 19 | 20 | ); 21 | -------------------------------------------------------------------------------- /app/Jobs/Job.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Redirect Trailing Slashes If Not A Folder... 9 | RewriteCond %{REQUEST_FILENAME} !-d 10 | RewriteRule ^(.*)/$ /$1 [L,R=301] 11 | 12 | # Handle Front Controller... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_FILENAME} !-f 15 | RewriteRule ^ index.php [L] 16 | 17 | # Handle Authorization Header 18 | RewriteCond %{HTTP:Authorization} . 19 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 20 | 21 | -------------------------------------------------------------------------------- /public/static/highlight/languages/erb.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: ERB (Embedded Ruby) 3 | Requires: xml.js, ruby.js 4 | Author: Lucas Mazza 5 | Contributors: Kassio Borges 6 | Description: "Bridge" language defining fragments of Ruby in HTML within <% .. %> 7 | Category: template 8 | */ 9 | 10 | function(hljs) { 11 | return { 12 | subLanguage: 'xml', 13 | contains: [ 14 | hljs.COMMENT('<%#', '%>'), 15 | { 16 | begin: '<%[%=-]?', end: '[%-]?%>', 17 | subLanguage: 'ruby', 18 | excludeBegin: true, 19 | excludeEnd: true 20 | } 21 | ] 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | make(Illuminate\Contracts\Console\Kernel::class)->bootstrap(); 22 | 23 | return $app; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /server.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | $uri = urldecode( 11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 12 | ); 13 | 14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 15 | // built-in PHP web server. This provides a convenient way to test a Laravel 16 | // application without having installed a "real" web server software here. 17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { 18 | return false; 19 | } 20 | 21 | require_once __DIR__.'/public/index.php'; 22 | -------------------------------------------------------------------------------- /app/Http/Middleware/AuthorizeMiddleware.php: -------------------------------------------------------------------------------- 1 | check()) { 21 | return redirect('/'); 22 | } 23 | 24 | return $next($request); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/Console/Commands/VersionCommand.php: -------------------------------------------------------------------------------- 1 | info('SmartWiki ' . SmartWikiVersion); 29 | 30 | return true; 31 | } 32 | } -------------------------------------------------------------------------------- /public/static/codemirror/addon/dialog/dialog.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-dialog { 2 | position: absolute; 3 | left: 0; right: 0; 4 | background: inherit; 5 | z-index: 15; 6 | padding: .1em .8em; 7 | overflow: hidden; 8 | color: inherit; 9 | } 10 | 11 | .CodeMirror-dialog-top { 12 | border-bottom: 1px solid #eee; 13 | top: 0; 14 | } 15 | 16 | .CodeMirror-dialog-bottom { 17 | border-top: 1px solid #eee; 18 | bottom: 0; 19 | } 20 | 21 | .CodeMirror-dialog input { 22 | border: none; 23 | outline: none; 24 | background: transparent; 25 | width: 20em; 26 | color: inherit; 27 | font-family: monospace; 28 | } 29 | 30 | .CodeMirror-dialog button { 31 | font-size: 70%; 32 | } 33 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/addon/dialog/dialog.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-dialog { 2 | position: absolute; 3 | left: 0; right: 0; 4 | background: white; 5 | z-index: 15; 6 | padding: .1em .8em; 7 | overflow: hidden; 8 | color: #333; 9 | } 10 | 11 | .CodeMirror-dialog-top { 12 | border-bottom: 1px solid #eee; 13 | top: 0; 14 | } 15 | 16 | .CodeMirror-dialog-bottom { 17 | border-top: 1px solid #eee; 18 | bottom: 0; 19 | } 20 | 21 | .CodeMirror-dialog input { 22 | border: none; 23 | outline: none; 24 | background: transparent; 25 | width: 20em; 26 | color: inherit; 27 | font-family: monospace; 28 | } 29 | 30 | .CodeMirror-dialog button { 31 | font-size: 70%; 32 | } 33 | -------------------------------------------------------------------------------- /app/Http/Controllers/ToolController.php: -------------------------------------------------------------------------------- 1 | member_id,0); 19 | 20 | $this->data['classify'] = []; 21 | 22 | if(empty($classifyList) === false && count($classifyList) > 0){ 23 | $this->data['classify'] = $classifyList; 24 | } 25 | return view('tool.runapi',$this->data); 26 | } 27 | 28 | 29 | } -------------------------------------------------------------------------------- /resources/lang/en/auth.php: -------------------------------------------------------------------------------- 1 | 'These credentials do not match our records.', 17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /public/static/highlight/languages/ldif.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: LDIF 3 | Contributors: Jacob Childress 4 | Category: enterprise, config 5 | */ 6 | function(hljs) { 7 | return { 8 | contains: [ 9 | { 10 | className: 'attribute', 11 | begin: '^dn', end: ': ', excludeEnd: true, 12 | starts: {end: '$', relevance: 0}, 13 | relevance: 10 14 | }, 15 | { 16 | className: 'attribute', 17 | begin: '^\\w', end: ': ', excludeEnd: true, 18 | starts: {end: '$', relevance: 0} 19 | }, 20 | { 21 | className: 'literal', 22 | begin: '^-', end: '$' 23 | }, 24 | hljs.HASH_COMMENT_MODE 25 | ] 26 | }; 27 | } 28 | -------------------------------------------------------------------------------- /resources/views/runapi/params.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /resources/views/runapi/shareitem.blade.php: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 |
    {{$account or ''}}
    6 | @if($role !== 0) 7 |
    8 | 9 |
    10 | @endif 11 |
    12 |
    13 |
    14 | time: {{$create_time or ''}} 15 |
    16 |
    17 |
    -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | APP_ENV=local 2 | APP_DEBUG=true 3 | APP_KEY= 4 | APP_URL=http://localhost 5 | 6 | DB_CONNECTION=mysql 7 | DB_HOST= 8 | DB_PORT=3306 9 | DB_DATABASE= 10 | DB_USERNAME= 11 | DB_PASSWORD= 12 | 13 | CACHE_DRIVER=file 14 | SESSION_DRIVER=file 15 | QUEUE_DRIVER=sync 16 | 17 | REDIS_HOST=127.0.0.1 18 | REDIS_PASSWORD=null 19 | REDIS_PORT=6379 20 | 21 | MAIL_DRIVER=smtp 22 | MAIL_HOST=mailtrap.io 23 | MAIL_PORT=2525 24 | MAIL_USERNAME=null 25 | MAIL_PASSWORD=null 26 | MAIL_ENCRYPTION=null 27 | 28 | MEMCACHED_HOST=127.0.0.1 29 | MEMCACHED_EXTEND_HOST=127.0.0.1 30 | 31 | UPLOAD_IMAGE_ENABLE=true 32 | UPLOAD_IMAGE_EXT=jpg|png|jpeg|gif 33 | 34 | UPLOAD_FILE_ENABLE=true 35 | UPLOAD_FILE_EXT=txt|doc|docx|xls|xlsx|ppt|pptx|pdf|7z|rar -------------------------------------------------------------------------------- /public/static/fonts/lato-100.css: -------------------------------------------------------------------------------- 1 | /* latin-ext */ 2 | @font-face { 3 | font-family: 'Lato'; 4 | font-style: normal; 5 | font-weight: 100; 6 | src: local('Lato Hairline'), local('Lato-Hairline'), url(lato/v11/eFRpvGLEW31oiexbYNx7Y_esZW2xOQ-xsNqO47m55DA.woff2) format('woff2'); 7 | unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF; 8 | } 9 | /* latin */ 10 | @font-face { 11 | font-family: 'Lato'; 12 | font-style: normal; 13 | font-weight: 100; 14 | src: local('Lato Hairline'), local('Lato-Hairline'), url(lato/v11/GtRkRNTnri0g82CjKnEB0Q.woff2) format('woff2'); 15 | unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215; 16 | } -------------------------------------------------------------------------------- /public/static/codemirror/theme/neat.css: -------------------------------------------------------------------------------- 1 | .cm-s-neat span.cm-comment { color: #a86; } 2 | .cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; } 3 | .cm-s-neat span.cm-string { color: #a22; } 4 | .cm-s-neat span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; } 5 | .cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; } 6 | .cm-s-neat span.cm-variable { color: black; } 7 | .cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; } 8 | .cm-s-neat span.cm-meta { color: #555; } 9 | .cm-s-neat span.cm-link { color: #3a3; } 10 | 11 | .cm-s-neat .CodeMirror-activeline-background { background: #e8f2ff; } 12 | .cm-s-neat .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } 13 | -------------------------------------------------------------------------------- /resources/views/template/text.blade.php: -------------------------------------------------------------------------------- 1 | ## SmartWiki是什么? 2 | 一个文档储存系统。 3 | 4 | ## SmartWiki有哪些功能? 5 | 6 | - 项目管理 7 | - 文档管理 8 | - 用户管理 9 | - 用户权限管理 10 | - 项目加密 11 | - 站点配置 12 | 13 | ## 有问题反馈 14 | 在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流 15 | 16 | * 邮件(longfei6671#163.com, 把#换成@) 17 | * QQ: 867311066 18 | * http://www.iminho.me 19 | 20 | ## 捐助开发者 21 | 在兴趣的驱动下,写一个`免费`的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 22 | 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝捐助),没钱捧个人场,谢谢各位。 23 | 24 | ## 感激 25 | 26 | 感谢以下的项目,排名不分先后 27 | 28 | - laravel 5.2 29 | - mysql 5.6 30 | - editor.md 31 | - bootstrap 3.2 32 | - jquery 库 33 | - layer 弹出层框架 34 | - webuploader 文件上传框架 35 | - Nprogress 库 36 | - jstree 37 | - font awesome 字体库 38 | - cropper 图片剪裁库 39 | 40 | ## 关于作者 41 | 42 | 一个纯粹的PHPer. 43 | PS:PHP是世界上最好的语言,没有之一(逃 -------------------------------------------------------------------------------- /database/factories/ModelFactory.php: -------------------------------------------------------------------------------- 1 | define(SmartWiki\User::class, function (Faker\Generator $faker) { 15 | return [ 16 | 'name' => $faker->name, 17 | 'email' => $faker->safeEmail, 18 | 'password' => bcrypt(str_random(10)), 19 | 'remember_token' => str_random(10), 20 | ]; 21 | }); 22 | -------------------------------------------------------------------------------- /app/Console/Commands/Inspire.php: -------------------------------------------------------------------------------- 1 | comment(PHP_EOL.Inspiring::quote().PHP_EOL); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/theme/neat.css: -------------------------------------------------------------------------------- 1 | .cm-s-neat span.cm-comment { color: #a86; } 2 | .cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; } 3 | .cm-s-neat span.cm-string { color: #a22; } 4 | .cm-s-neat span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; } 5 | .cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; } 6 | .cm-s-neat span.cm-variable { color: black; } 7 | .cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; } 8 | .cm-s-neat span.cm-meta {color: #555;} 9 | .cm-s-neat span.cm-link { color: #3a3; } 10 | 11 | .cm-s-neat .CodeMirror-activeline-background {background: #e8f2ff !important;} 12 | .cm-s-neat .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} 13 | -------------------------------------------------------------------------------- /public/static/highlight/languages/bnf.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Backus–Naur Form 3 | Author: Oleg Efimov 4 | */ 5 | 6 | function(hljs){ 7 | return { 8 | contains: [ 9 | // Attribute 10 | { 11 | className: 'attribute', 12 | begin: // 13 | }, 14 | // Specific 15 | { 16 | begin: /::=/, 17 | starts: { 18 | end: /$/, 19 | contains: [ 20 | { 21 | begin: // 22 | }, 23 | // Common 24 | hljs.C_LINE_COMMENT_MODE, 25 | hljs.C_BLOCK_COMMENT_MODE, 26 | hljs.APOS_STRING_MODE, 27 | hljs.QUOTE_STRING_MODE 28 | ] 29 | } 30 | } 31 | ] 32 | }; 33 | } 34 | -------------------------------------------------------------------------------- /app/Http/Middleware/VerifyCsrfToken.php: -------------------------------------------------------------------------------- 1 | 5 | Description: Mojolicious .ep (Embedded Perl) templates 6 | Category: template 7 | */ 8 | function(hljs) { 9 | return { 10 | subLanguage: 'xml', 11 | contains: [ 12 | { 13 | className: 'meta', 14 | begin: '^__(END|DATA)__$' 15 | }, 16 | // mojolicious line 17 | { 18 | begin: "^\\s*%{1,2}={0,2}", end: '$', 19 | subLanguage: 'perl' 20 | }, 21 | // mojolicious block 22 | { 23 | begin: "<%{1,2}={0,2}", 24 | end: "={0,1}%>", 25 | subLanguage: 'perl', 26 | excludeBegin: true, 27 | excludeEnd: true 28 | } 29 | ] 30 | }; 31 | } 32 | -------------------------------------------------------------------------------- /public/static/highlight/languages/dockerfile.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Dockerfile 3 | Requires: bash.js 4 | Author: Alexis Hénaut 5 | Description: language definition for Dockerfile files 6 | Category: config 7 | */ 8 | 9 | function(hljs) { 10 | return { 11 | aliases: ['docker'], 12 | case_insensitive: true, 13 | keywords: 'from maintainer expose env user onbuild', 14 | contains: [ 15 | hljs.HASH_COMMENT_MODE, 16 | hljs.APOS_STRING_MODE, 17 | hljs.QUOTE_STRING_MODE, 18 | hljs.NUMBER_MODE, 19 | { 20 | beginKeywords: 'run cmd entrypoint volume add copy workdir label healthcheck', 21 | starts: { 22 | end: /[^\\]\n/, 23 | subLanguage: 'bash' 24 | } 25 | } 26 | ], 27 | illegal: 'create_time = date('Y-m-d H:i:s'); 24 | } 25 | public function updating(Member $member) 26 | { 27 | $member->modify_time = date('Y-m-d H:i:s'); 28 | //测试账号禁止修改密码 29 | if(strcasecmp($member->account,'test123') === 0){ 30 | $member->member_passwd = password_hash('test123',PASSWORD_DEFAULT); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /public/static/highlight/languages/fix.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: FIX 3 | Author: Brent Bradbury 4 | */ 5 | 6 | function(hljs) { 7 | return { 8 | contains: [ 9 | { 10 | begin: /[^\u2401\u0001]+/, 11 | end: /[\u2401\u0001]/, 12 | excludeEnd: true, 13 | returnBegin: true, 14 | returnEnd: false, 15 | contains: [ 16 | { 17 | begin: /([^\u2401\u0001=]+)/, 18 | end: /=([^\u2401\u0001=]+)/, 19 | returnEnd: true, 20 | returnBegin: false, 21 | className: 'attr' 22 | }, 23 | { 24 | begin: /=/, 25 | end: /([\u2401\u0001])/, 26 | excludeEnd: true, 27 | excludeBegin: true, 28 | className: 'string' 29 | }] 30 | }], 31 | case_insensitive: true 32 | }; 33 | } 34 | -------------------------------------------------------------------------------- /resources/chrome/popups/popup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SmartWiki Interceptor 6 | 7 | 8 | 9 | 10 | 11 |
    12 |

    SmartWiki 请求插件

    13 |

    该插件支持你的SmartWiki接口工具读取请求URL的Cookie值,跨域请求等。

    14 |
    15 |
    16 | 监听的地址: 17 |

    支持*号匹配,例如:*.iminho.me

    18 |
    19 |
    20 | 21 |
    22 | 23 | 24 | -------------------------------------------------------------------------------- /public/static/codemirror/addon/hint/show-hint.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-hints { 2 | position: absolute; 3 | z-index: 10; 4 | overflow: hidden; 5 | list-style: none; 6 | 7 | margin: 0; 8 | padding: 2px; 9 | 10 | -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 11 | -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 12 | box-shadow: 2px 3px 5px rgba(0,0,0,.2); 13 | border-radius: 3px; 14 | border: 1px solid silver; 15 | 16 | background: white; 17 | font-size: 90%; 18 | font-family: monospace; 19 | 20 | max-height: 20em; 21 | overflow-y: auto; 22 | } 23 | 24 | .CodeMirror-hint { 25 | margin: 0; 26 | padding: 0 4px; 27 | border-radius: 2px; 28 | white-space: pre; 29 | color: black; 30 | cursor: pointer; 31 | } 32 | 33 | li.CodeMirror-hint-active { 34 | background: #08f; 35 | color: white; 36 | } 37 | -------------------------------------------------------------------------------- /public/static/highlight/highlightjs-line-numbers.min.js: -------------------------------------------------------------------------------- 1 | !function(e){"use strict";function t(){"complete"===document.readyState?n():e.addEventListener("DOMContentLoaded",n)}function n(){try{var e=document.querySelectorAll("code.hljs");for(var t in e)e.hasOwnProperty(t)&&r(e[t])}catch(n){console.error("LineNumbers error: ",n)}}function r(e){if("object"==typeof e){var t=e.parentNode,n=o(t.textContent);if(n>1){for(var r="",c=0;n>c;c++)r+=c+1+"\n";var l=document.createElement("code");l.className="hljs hljs-line-numbers",l.style["float"]="left",l.textContent=r,t.insertBefore(l,e)}}}function o(e){if(0===e.length)return 0;var t=/\r\n|\r|\n/g,n=e.match(t);return n=n?n.length:0,e[e.length-1].match(t)||(n+=1),n}"undefined"==typeof e.hljs?console.error("highlight.js not detected!"):(e.hljs.initLineNumbersOnLoad=t,e.hljs.lineNumbersBlock=r)}(window); -------------------------------------------------------------------------------- /public/static/highlight/languages/csp.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: CSP 3 | Description: Content Security Policy definition highlighting 4 | Author: Taras 5 | 6 | vim: ts=2 sw=2 st=2 7 | */ 8 | 9 | function(hljs) { 10 | return { 11 | case_insensitive: false, 12 | lexemes: '[a-zA-Z][a-zA-Z0-9_-]*', 13 | keywords: { 14 | keyword: 'base-uri child-src connect-src default-src font-src form-action' + 15 | ' frame-ancestors frame-src img-src media-src object-src plugin-types' + 16 | ' report-uri sandbox script-src style-src', 17 | }, 18 | contains: [ 19 | { 20 | className: 'string', 21 | begin: "'", end: "'" 22 | }, 23 | { 24 | className: 'attribute', 25 | begin: '^Content', end: ':', excludeEnd: true, 26 | }, 27 | ] 28 | }; 29 | } 30 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_100000_create_password_resets_table.php: -------------------------------------------------------------------------------- 1 | string('email')->index(); 17 | $table->string('token')->index(); 18 | $table->timestamp('created_at'); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | Schema::drop('password_resets'); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /public/static/highlight/styles/ascetic.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: white; 12 | color: black; 13 | } 14 | 15 | .hljs-string, 16 | .hljs-variable, 17 | .hljs-template-variable, 18 | .hljs-symbol, 19 | .hljs-bullet, 20 | .hljs-section, 21 | .hljs-addition, 22 | .hljs-attribute, 23 | .hljs-link { 24 | color: #888; 25 | } 26 | 27 | .hljs-comment, 28 | .hljs-quote, 29 | .hljs-meta, 30 | .hljs-deletion { 31 | color: #ccc; 32 | } 33 | 34 | .hljs-keyword, 35 | .hljs-selector-tag, 36 | .hljs-section, 37 | .hljs-name, 38 | .hljs-type, 39 | .hljs-strong { 40 | font-weight: bold; 41 | } 42 | 43 | .hljs-emphasis { 44 | font-style: italic; 45 | } 46 | -------------------------------------------------------------------------------- /app/Observers/RequestModelObservers.php: -------------------------------------------------------------------------------- 1 | classify_id); 24 | 25 | } 26 | 27 | public function deleted(RequestModel $model) 28 | { 29 | RequestFolder::updateRequestCount($model->classify_id); 30 | } 31 | 32 | public function updated(RequestModel $model) 33 | { 34 | RequestFolder::updateRequestCount($model->classify_id); 35 | } 36 | } -------------------------------------------------------------------------------- /app/Http/Middleware/Authenticate.php: -------------------------------------------------------------------------------- 1 | guest()) { 21 | if ($request->ajax() || $request->wantsJson()) { 22 | return response('Unauthorized.', 401); 23 | } else { 24 | return redirect()->guest('login'); 25 | } 26 | } 27 | 28 | return $next($request); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /public/static/codemirror/theme/elegant.css: -------------------------------------------------------------------------------- 1 | .cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom { color: #762; } 2 | .cm-s-elegant span.cm-comment { color: #262; font-style: italic; line-height: 1em; } 3 | .cm-s-elegant span.cm-meta { color: #555; font-style: italic; line-height: 1em; } 4 | .cm-s-elegant span.cm-variable { color: black; } 5 | .cm-s-elegant span.cm-variable-2 { color: #b11; } 6 | .cm-s-elegant span.cm-qualifier { color: #555; } 7 | .cm-s-elegant span.cm-keyword { color: #730; } 8 | .cm-s-elegant span.cm-builtin { color: #30a; } 9 | .cm-s-elegant span.cm-link { color: #762; } 10 | .cm-s-elegant span.cm-error { background-color: #fdd; } 11 | 12 | .cm-s-elegant .CodeMirror-activeline-background { background: #e8f2ff; } 13 | .cm-s-elegant .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } 14 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/README.md: -------------------------------------------------------------------------------- 1 | # CodeMirror 2 | [![Build Status](https://travis-ci.org/codemirror/CodeMirror.svg)](https://travis-ci.org/codemirror/CodeMirror) 3 | [![NPM version](https://img.shields.io/npm/v/codemirror.svg)](https://www.npmjs.org/package/codemirror) 4 | [Funding status: ![maintainer happiness](https://marijnhaverbeke.nl/fund/status_s.png)](https://marijnhaverbeke.nl/fund/) 5 | 6 | CodeMirror is a JavaScript component that provides a code editor in 7 | the browser. When a mode is available for the language you are coding 8 | in, it will color your code, and optionally help with indentation. 9 | 10 | The project page is http://codemirror.net 11 | The manual is at http://codemirror.net/doc/manual.html 12 | The contributing guidelines are in [CONTRIBUTING.md](https://github.com/codemirror/CodeMirror/blob/master/CONTRIBUTING.md) 13 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/theme/elegant.css: -------------------------------------------------------------------------------- 1 | .cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom {color: #762;} 2 | .cm-s-elegant span.cm-comment {color: #262; font-style: italic; line-height: 1em;} 3 | .cm-s-elegant span.cm-meta {color: #555; font-style: italic; line-height: 1em;} 4 | .cm-s-elegant span.cm-variable {color: black;} 5 | .cm-s-elegant span.cm-variable-2 {color: #b11;} 6 | .cm-s-elegant span.cm-qualifier {color: #555;} 7 | .cm-s-elegant span.cm-keyword {color: #730;} 8 | .cm-s-elegant span.cm-builtin {color: #30a;} 9 | .cm-s-elegant span.cm-link {color: #762;} 10 | .cm-s-elegant span.cm-error {background-color: #fdd;} 11 | 12 | .cm-s-elegant .CodeMirror-activeline-background {background: #e8f2ff !important;} 13 | .cm-s-elegant .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} 14 | -------------------------------------------------------------------------------- /app/Http/Middleware/ToolMiddleware.php: -------------------------------------------------------------------------------- 1 | group_level == 2) { 30 | return abort(403); 31 | } 32 | return $next($request); 33 | } 34 | } -------------------------------------------------------------------------------- /app/Providers/AuthServiceProvider.php: -------------------------------------------------------------------------------- 1 | 'SmartWiki\Policies\ModelPolicy', 17 | ]; 18 | 19 | /** 20 | * Register any application authentication / authorization services. 21 | * 22 | * @param \Illuminate\Contracts\Auth\Access\Gate $gate 23 | * @return void 24 | */ 25 | public function boot(GateContract $gate) 26 | { 27 | $this->registerPolicies($gate); 28 | 29 | // 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/addon/hint/show-hint.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-hints { 2 | position: absolute; 3 | z-index: 10; 4 | overflow: hidden; 5 | list-style: none; 6 | 7 | margin: 0; 8 | padding: 2px; 9 | 10 | -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 11 | -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 12 | box-shadow: 2px 3px 5px rgba(0,0,0,.2); 13 | border-radius: 3px; 14 | border: 1px solid silver; 15 | 16 | background: white; 17 | font-size: 90%; 18 | font-family: monospace; 19 | 20 | max-height: 20em; 21 | overflow-y: auto; 22 | } 23 | 24 | .CodeMirror-hint { 25 | margin: 0; 26 | padding: 0 4px; 27 | border-radius: 2px; 28 | max-width: 19em; 29 | overflow: hidden; 30 | white-space: pre; 31 | color: black; 32 | cursor: pointer; 33 | } 34 | 35 | li.CodeMirror-hint-active { 36 | background: #08f; 37 | color: white; 38 | } 39 | -------------------------------------------------------------------------------- /app/Http/Middleware/SuperMemberMiddleware.php: -------------------------------------------------------------------------------- 1 | group_level == 0) { 30 | return $next($request); 31 | } 32 | return abort(403); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /resources/lang/en/passwords.php: -------------------------------------------------------------------------------- 1 | 'Passwords must be at least six characters and match the confirmation.', 17 | 'reset' => 'Your password has been reset!', 18 | 'sent' => 'We have e-mailed your password reset link!', 19 | 'token' => 'This password reset token is invalid.', 20 | 'user' => "We can't find a user with that e-mail address.", 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_000000_create_users_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 17 | $table->string('name'); 18 | $table->string('email')->unique(); 19 | $table->string('password'); 20 | $table->rememberToken(); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::drop('users'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /resources/views/widget/browse.blade.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/Http/Controllers/SearchController.php: -------------------------------------------------------------------------------- 1 | member)){ 20 | return redirect(route('account.login')); 21 | } 22 | 23 | $keyword = $this->request->get('keyword'); 24 | $pageIndex = intval($this->request->input('page',1)); 25 | 26 | $this->data['lists'] = Project::search($keyword,$pageIndex,20,$this->member_id); 27 | $this->data['keyword'] = $keyword; 28 | 29 | 30 | //var_dump($this->data);exit; 31 | return view('search.search',$this->data); 32 | } 33 | } -------------------------------------------------------------------------------- /app/Console/Kernel.php: -------------------------------------------------------------------------------- 1 | command('inspire') 31 | // ->hourly(); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /resources/views/widget/usermenu.blade.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/static/highlight/languages/clean.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Clean 3 | Author: Camil Staps 4 | Category: functional 5 | Website: http://clean.cs.ru.nl 6 | */ 7 | 8 | function(hljs) { 9 | return { 10 | aliases: ['clean','icl','dcl'], 11 | keywords: { 12 | keyword: 13 | 'if let in with where case of class instance otherwise ' + 14 | 'implementation definition system module from import qualified as ' + 15 | 'special code inline foreign export ccall stdcall generic derive ' + 16 | 'infix infixl infixr', 17 | literal: 18 | 'True False' 19 | }, 20 | contains: [ 21 | 22 | hljs.C_LINE_COMMENT_MODE, 23 | hljs.C_BLOCK_COMMENT_MODE, 24 | hljs.APOS_STRING_MODE, 25 | hljs.QUOTE_STRING_MODE, 26 | hljs.C_NUMBER_MODE, 27 | 28 | {begin: '->|<-[|:]?|::|#!?|>>=|\\{\\||\\|\\}|:==|=:|\\.\\.|<>|`'} // relevance booster 29 | ] 30 | }; 31 | } 32 | -------------------------------------------------------------------------------- /resources/views/runapi/api.blade.php: -------------------------------------------------------------------------------- 1 |
  • 2 | 3 | 4 | {{$method}} 5 | {{$api_name}} 6 | 7 |
    8 | 11 | 17 |
    18 |
  • -------------------------------------------------------------------------------- /app/Observers/WikiConfigObservers.php: -------------------------------------------------------------------------------- 1 | create_time = date('Y-m-d H:i:s'); 24 | } 25 | public function updating(WikiConfig $config) 26 | { 27 | $config->modify_time = date('Y-m-d H:i:s'); 28 | $key = 'config.key.' . $config->key; 29 | //当更新时移除缓存 30 | Cache::forget($key); 31 | } 32 | 33 | public function updated(WikiConfig $config) 34 | { 35 | $key = 'config.key' . $config->key; 36 | //更新后重新写入缓存 37 | Cache::forever($key,$config); 38 | } 39 | } -------------------------------------------------------------------------------- /public/static/highlight/languages/ebnf.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Extended Backus-Naur Form 3 | Author: Alex McKibben 4 | */ 5 | 6 | function(hljs) { 7 | var commentMode = hljs.COMMENT(/\(\*/, /\*\)/); 8 | 9 | var nonTerminalMode = { 10 | className: "attribute", 11 | begin: /^[ ]*[a-zA-Z][a-zA-Z-]*([\s-]+[a-zA-Z][a-zA-Z]*)*/ 12 | }; 13 | 14 | var specialSequenceMode = { 15 | className: "meta", 16 | begin: /\?.*\?/ 17 | }; 18 | 19 | var ruleBodyMode = { 20 | begin: /=/, end: /;/, 21 | contains: [ 22 | commentMode, 23 | specialSequenceMode, 24 | // terminals 25 | hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE 26 | ] 27 | }; 28 | 29 | return { 30 | illegal: /\S/, 31 | contains: [ 32 | commentMode, 33 | nonTerminalMode, 34 | ruleBodyMode 35 | ] 36 | }; 37 | } 38 | -------------------------------------------------------------------------------- /public/static/highlight/languages/profile.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Python profile 3 | Description: Python profiler results 4 | Author: Brian Beck 5 | */ 6 | 7 | function(hljs) { 8 | return { 9 | contains: [ 10 | hljs.C_NUMBER_MODE, 11 | { 12 | begin: '[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}', end: ':', 13 | excludeEnd: true 14 | }, 15 | { 16 | begin: '(ncalls|tottime|cumtime)', end: '$', 17 | keywords: 'ncalls tottime|10 cumtime|10 filename', 18 | relevance: 10 19 | }, 20 | { 21 | begin: 'function calls', end: '$', 22 | contains: [hljs.C_NUMBER_MODE], 23 | relevance: 10 24 | }, 25 | hljs.APOS_STRING_MODE, 26 | hljs.QUOTE_STRING_MODE, 27 | { 28 | className: 'string', 29 | begin: '\\(', end: '\\)$', 30 | excludeBegin: true, excludeEnd: true, 31 | relevance: 0 32 | } 33 | ] 34 | }; 35 | } 36 | -------------------------------------------------------------------------------- /public/static/highlight/languages/brainfuck.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Brainfuck 3 | Author: Evgeny Stepanischev 4 | */ 5 | 6 | function(hljs){ 7 | var LITERAL = { 8 | className: 'literal', 9 | begin: '[\\+\\-]', 10 | relevance: 0 11 | }; 12 | return { 13 | aliases: ['bf'], 14 | contains: [ 15 | hljs.COMMENT( 16 | '[^\\[\\]\\.,\\+\\-<> \r\n]', 17 | '[\\[\\]\\.,\\+\\-<> \r\n]', 18 | { 19 | returnEnd: true, 20 | relevance: 0 21 | } 22 | ), 23 | { 24 | className: 'title', 25 | begin: '[\\[\\]]', 26 | relevance: 0 27 | }, 28 | { 29 | className: 'string', 30 | begin: '[\\.,]', 31 | relevance: 0 32 | }, 33 | { 34 | // this mode works as the only relevance counter 35 | begin: /\+\+|\-\-/, returnBegin: true, 36 | contains: [LITERAL] 37 | }, 38 | LITERAL 39 | ] 40 | }; 41 | } 42 | -------------------------------------------------------------------------------- /resources/data/v0.3.3.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE `wk_project_types` ( 2 | `type_id` int(11) NOT NULL AUTO_INCREMENT, 3 | `parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '父ID', 4 | `type_name` varchar(200) NOT NULL COMMENT '文档名称', 5 | `type_sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序', 6 | `create_time` datetime DEFAULT NULL, 7 | `create_at` int(11) NOT NULL, 8 | `modify_time` datetime DEFAULT NULL, 9 | `modify_at` int(11) DEFAULT NULL, 10 | `version` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '当前时间戳', 11 | PRIMARY KEY (`type_id`), 12 | UNIQUE KEY `wk_project_types_id_uindex` (`type_id`), 13 | KEY `type_id_index` (`type_id`), 14 | KEY `type_sort_index` (`type_sort`), 15 | KEY `wk_project_types_parent_id_index` (`parent_id`) 16 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='项目分类表'; 17 | 18 | INSERT wk_config(name, `key`, value, config_type, remark, create_time) VALUES ('启用登录验证码','ENABLED_CAPTCHA','0','system','是否启用登录验证码:0 否/1 是',now()); 19 | -------------------------------------------------------------------------------- /app/Models/Relationship.php: -------------------------------------------------------------------------------- 1 | 4 | Description: a lightweight dynamic language for the JVM, see http://golo-lang.org/ 5 | */ 6 | 7 | function(hljs) { 8 | return { 9 | keywords: { 10 | keyword: 11 | 'println readln print import module function local return let var ' + 12 | 'while for foreach times in case when match with break continue ' + 13 | 'augment augmentation each find filter reduce ' + 14 | 'if then else otherwise try catch finally raise throw orIfNull ' + 15 | 'DynamicObject|10 DynamicVariable struct Observable map set vector list array', 16 | literal: 17 | 'true false null' 18 | }, 19 | contains: [ 20 | hljs.HASH_COMMENT_MODE, 21 | hljs.QUOTE_STRING_MODE, 22 | hljs.C_NUMBER_MODE, 23 | { 24 | className: 'meta', begin: '@[A-Za-z]+' 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/addon/mode/multiplex_test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function() { 5 | CodeMirror.defineMode("markdown_with_stex", function(){ 6 | var inner = CodeMirror.getMode({}, "stex"); 7 | var outer = CodeMirror.getMode({}, "markdown"); 8 | 9 | var innerOptions = { 10 | open: '$', 11 | close: '$', 12 | mode: inner, 13 | delimStyle: 'delim', 14 | innerStyle: 'inner' 15 | }; 16 | 17 | return CodeMirror.multiplexingMode(outer, innerOptions); 18 | }); 19 | 20 | var mode = CodeMirror.getMode({}, "markdown_with_stex"); 21 | 22 | function MT(name) { 23 | test.mode( 24 | name, 25 | mode, 26 | Array.prototype.slice.call(arguments, 1), 27 | 'multiplexing'); 28 | } 29 | 30 | MT( 31 | "stexInsideMarkdown", 32 | "[strong **Equation:**] [delim $][inner&tag \\pi][delim $]"); 33 | })(); 34 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codemirror", 3 | "version":"5.0.0", 4 | "main": "lib/codemirror.js", 5 | "description": "In-browser code editing made bearable", 6 | "licenses": [{"type": "MIT", 7 | "url": "http://codemirror.net/LICENSE"}], 8 | "directories": {"lib": "./lib"}, 9 | "scripts": {"test": "node ./test/run.js"}, 10 | "devDependencies": {"node-static": "0.6.0", 11 | "phantomjs": "1.9.2-5", 12 | "blint": ">=0.1.1"}, 13 | "bugs": "http://github.com/codemirror/CodeMirror/issues", 14 | "keywords": ["JavaScript", "CodeMirror", "Editor"], 15 | "homepage": "http://codemirror.net", 16 | "maintainers":[{"name": "Marijn Haverbeke", 17 | "email": "marijnh@gmail.com", 18 | "web": "http://marijnhaverbeke.nl"}], 19 | "repository": {"type": "git", 20 | "url": "https://github.com/codemirror/CodeMirror.git"} 21 | } 22 | -------------------------------------------------------------------------------- /public/web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /public/static/codemirror/addon/mode/multiplex_test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function() { 5 | CodeMirror.defineMode("markdown_with_stex", function(){ 6 | var inner = CodeMirror.getMode({}, "stex"); 7 | var outer = CodeMirror.getMode({}, "markdown"); 8 | 9 | var innerOptions = { 10 | open: '$', 11 | close: '$', 12 | mode: inner, 13 | delimStyle: 'delim', 14 | innerStyle: 'inner' 15 | }; 16 | 17 | return CodeMirror.multiplexingMode(outer, innerOptions); 18 | }); 19 | 20 | var mode = CodeMirror.getMode({}, "markdown_with_stex"); 21 | 22 | function MT(name) { 23 | test.mode( 24 | name, 25 | mode, 26 | Array.prototype.slice.call(arguments, 1), 27 | 'multiplexing'); 28 | } 29 | 30 | MT( 31 | "stexInsideMarkdown", 32 | "[strong **Equation:**] [delim&delim-open $][inner&tag \\pi][delim&delim-close $]"); 33 | })(); 34 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/addon/lint/yaml-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | "use strict"; 13 | 14 | // Depends on js-yaml.js from https://github.com/nodeca/js-yaml 15 | 16 | // declare global: jsyaml 17 | 18 | CodeMirror.registerHelper("lint", "yaml", function(text) { 19 | var found = []; 20 | try { jsyaml.load(text); } 21 | catch(e) { 22 | var loc = e.mark; 23 | found.push({ from: CodeMirror.Pos(loc.line, loc.column), to: CodeMirror.Pos(loc.line, loc.column), message: e.message }); 24 | } 25 | return found; 26 | }); 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /public/static/highlight/languages/mizar.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Mizar 3 | Author: Kelley van Evert 4 | Category: scientific 5 | */ 6 | 7 | function(hljs) { 8 | return { 9 | keywords: 10 | 'environ vocabularies notations constructors definitions ' + 11 | 'registrations theorems schemes requirements begin end definition ' + 12 | 'registration cluster existence pred func defpred deffunc theorem ' + 13 | 'proof let take assume then thus hence ex for st holds consider ' + 14 | 'reconsider such that and in provided of as from be being by means ' + 15 | 'equals implies iff redefine define now not or attr is mode ' + 16 | 'suppose per cases set thesis contradiction scheme reserve struct ' + 17 | 'correctness compatibility coherence symmetry assymetry ' + 18 | 'reflexivity irreflexivity connectedness uniqueness commutativity ' + 19 | 'idempotence involutiveness projectivity', 20 | contains: [ 21 | hljs.COMMENT('::', '$') 22 | ] 23 | }; 24 | } 25 | -------------------------------------------------------------------------------- /resources/views/template/api.blade.php: -------------------------------------------------------------------------------- 1 | ### 简要描述: 2 | 3 | - 用户登录接口 4 | 5 | ### 请求域名: 6 | 7 | - http://xx.com 8 | 9 | ### 请求URL: 10 | 11 | GET:/api/login 12 | 13 | POST:/api/login 14 | 15 | PUT:/api/login 16 | 17 | DELETE:/api/login 18 | 19 | TRACE:/api/login 20 | 21 | 22 | ### 参数: 23 | 24 | |参数名|是否必须|类型|说明| 25 | |:---- |:---|:----- |----- | 26 | |username |是 |string |用户名 | 27 | |password |是 |string | 密码 | 28 | 29 | ### 返回示例: 30 | 31 | **正确时返回:** 32 | 33 | ``` 34 | { 35 | "errcode": 0, 36 | "data": { 37 | "uid": "1", 38 | "account": "admin", 39 | "nickname": "Minho", 40 | "group_level": 0 , 41 | "create_time": "1436864169", 42 | "last_login_time": "0", 43 | } 44 | } 45 | ``` 46 | 47 | **错误时返回:** 48 | 49 | 50 | ``` 51 | { 52 | "errcode": 500, 53 | "errmsg": "invalid appid" 54 | } 55 | ``` 56 | 57 | ### 返回参数说明: 58 | 59 | |参数名|类型|说明| 60 | |:----- |:-----|----- | 61 | |group_level |int |用户组id,1:超级管理员;2:普通用户 | 62 | 63 | ### 备注: 64 | 65 | - 更多返回错误代码请看首页的错误代码描述 -------------------------------------------------------------------------------- /public/static/highlight/languages/subunit.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: SubUnit 3 | Author: Sergey Bronnikov 4 | Website: https://bronevichok.ru/ 5 | */ 6 | 7 | function(hljs) { 8 | var DETAILS = { 9 | className: 'string', 10 | begin: '\\[\n(multipart)?', end: '\\]\n' 11 | }; 12 | var TIME = { 13 | className: 'string', 14 | begin: '\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}\.\\d+Z' 15 | }; 16 | var PROGRESSVALUE = { 17 | className: 'string', 18 | begin: '(\\+|-)\\d+' 19 | }; 20 | var KEYWORDS = { 21 | className: 'keyword', 22 | relevance: 10, 23 | variants: [ 24 | { begin: '^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?' }, 25 | { begin: '^progress(:?)(\\s+)?(pop|push)?' }, 26 | { begin: '^tags:' }, 27 | { begin: '^time:' } 28 | ], 29 | }; 30 | return { 31 | case_insensitive: true, 32 | contains: [ 33 | DETAILS, 34 | TIME, 35 | PROGRESSVALUE, 36 | KEYWORDS 37 | ] 38 | }; 39 | } 40 | -------------------------------------------------------------------------------- /public/static/highlight/styles/mono-blue.css: -------------------------------------------------------------------------------- 1 | /* 2 | Five-color theme from a single blue hue. 3 | */ 4 | .hljs { 5 | display: block; 6 | overflow-x: auto; 7 | padding: 0.5em; 8 | background: #eaeef3; 9 | } 10 | 11 | .hljs { 12 | color: #00193a; 13 | } 14 | 15 | .hljs-keyword, 16 | .hljs-selector-tag, 17 | .hljs-title, 18 | .hljs-section, 19 | .hljs-doctag, 20 | .hljs-name, 21 | .hljs-strong { 22 | font-weight: bold; 23 | } 24 | 25 | .hljs-comment { 26 | color: #738191; 27 | } 28 | 29 | .hljs-string, 30 | .hljs-title, 31 | .hljs-section, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-type, 35 | .hljs-addition, 36 | .hljs-tag, 37 | .hljs-quote, 38 | .hljs-name, 39 | .hljs-selector-id, 40 | .hljs-selector-class { 41 | color: #0048ab; 42 | } 43 | 44 | .hljs-meta, 45 | .hljs-subst, 46 | .hljs-symbol, 47 | .hljs-regexp, 48 | .hljs-attribute, 49 | .hljs-deletion, 50 | .hljs-variable, 51 | .hljs-template-variable, 52 | .hljs-link, 53 | .hljs-bullet { 54 | color: #4c81c9; 55 | } 56 | 57 | .hljs-emphasis { 58 | font-style: italic; 59 | } 60 | -------------------------------------------------------------------------------- /resources/views/runapi/markdown.blade.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /resources/chrome/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SmartWiki Interceptor", 3 | "version": "0.1.1", 4 | "manifest_version": 2, 5 | "update_url": "https://clients2.google.com/service/update2/crx", 6 | "browser_action": { 7 | "default_icon": { 8 | "19": "image/24x24.png", 9 | "38": "image/48x48.png" 10 | }, 11 | "default_title": "SmartWiki 接口工具的Cookie访问和跨域请求插件." 12 | }, 13 | "icons": { 14 | "16": "image/16x16.png", 15 | "48": "image/48x48.png", 16 | "128" : "image/128x128.png" 17 | }, 18 | "description": "SmartWiki 接口工具的Cookie访问和跨域请求插件.", 19 | "content_scripts": [{ 20 | "js": [ "lib/jquery-1.12.4.min.js","config.js", "content-scripts/content-scripts.js" ], 21 | "matches": [ "*://*/tool/*" ] 22 | }], 23 | "permissions" : [ 24 | "webRequest", "webRequestBlocking","tabs", "http://*/*", "https://*/*", "cookies" 25 | ], 26 | "background": { 27 | "persistent": true, 28 | "scripts": [ 29 | "lib/jquery-1.12.4.min.js", 30 | "config.js", 31 | "background/background.js" 32 | ] 33 | } 34 | } -------------------------------------------------------------------------------- /public/static/highlight/languages/taggerscript.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Tagger Script 3 | Author: Philipp Wolfer 4 | Description: Syntax Highlighting for the Tagger Script as used by MusicBrainz Picard. 5 | */ 6 | function(hljs) { 7 | 8 | var COMMENT = { 9 | className: 'comment', 10 | begin: /\$noop\(/, 11 | end: /\)/, 12 | contains: [{ 13 | begin: /\(/, 14 | end: /\)/, 15 | contains: ['self', { 16 | begin: /\\./ 17 | }] 18 | }], 19 | relevance: 10 20 | }; 21 | 22 | var FUNCTION = { 23 | className: 'keyword', 24 | begin: /\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/, 25 | end: /\(/, 26 | excludeEnd: true 27 | }; 28 | 29 | var VARIABLE = { 30 | className: 'variable', 31 | begin: /%[_a-zA-Z0-9:]*/, 32 | end: '%' 33 | }; 34 | 35 | var ESCAPE_SEQUENCE = { 36 | className: 'symbol', 37 | begin: /\\./ 38 | }; 39 | 40 | return { 41 | contains: [ 42 | COMMENT, 43 | FUNCTION, 44 | VARIABLE, 45 | ESCAPE_SEQUENCE 46 | ] 47 | }; 48 | } 49 | -------------------------------------------------------------------------------- /app/Http/Middleware/InstallMiddleware.php: -------------------------------------------------------------------------------- 1 | getRequestUri(); 28 | 29 | if(stripos($uri,'/install') === 0){ 30 | if( file_exists($path)) { 31 | return redirect(route('member.projects')); 32 | } 33 | 34 | }elseif(file_exists($path) === false){ 35 | 36 | $url = substr($request->getUri(),0,-strlen($uri)) . '/install.php'; 37 | 38 | return redirect($url); 39 | } 40 | 41 | return $next($request); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /app/Models/RequestShare.php: -------------------------------------------------------------------------------- 1 | select(['*','member.account']) 35 | ->leftJoin('member','request_share.member_id','=','member.member_id') 36 | ->where('request_share.classify_id','=',$classifyId) 37 | ->get(); 38 | 39 | return $results; 40 | } 41 | } -------------------------------------------------------------------------------- /public/static/highlight/languages/tap.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Test Anything Protocol 3 | Requires: yaml.js 4 | Author: Sergey Bronnikov 5 | Website: https://bronevichok.ru/ 6 | */ 7 | 8 | function(hljs) { 9 | return { 10 | case_insensitive: true, 11 | contains: [ 12 | hljs.HASH_COMMENT_MODE, 13 | // version of format and total amount of testcases 14 | { 15 | className: 'meta', 16 | variants: [ 17 | { begin: '^TAP version (\\d+)$' }, 18 | { begin: '^1\\.\\.(\\d+)$' } 19 | ], 20 | }, 21 | // YAML block 22 | { 23 | begin: '(\s+)?---$', end: '\\.\\.\\.$', 24 | subLanguage: 'yaml', 25 | relevance: 0 26 | }, 27 | // testcase number 28 | { 29 | className: 'number', 30 | begin: ' (\\d+) ' 31 | }, 32 | // testcase status and description 33 | { 34 | className: 'symbol', 35 | variants: [ 36 | { begin: '^ok' }, 37 | { begin: '^not ok' } 38 | ], 39 | }, 40 | ] 41 | }; 42 | } 43 | -------------------------------------------------------------------------------- /app/Http/Controllers/SettingController.php: -------------------------------------------------------------------------------- 1 | isPost()){ 20 | $form = Request::all(); 21 | if(empty($form) === false){ 22 | foreach ($form as $key=>$value){ 23 | WikiConfig::where('key','=',$key)->update(['value'=>$value]); 24 | } 25 | } 26 | return $this->jsonResult(0,null,'ok'); 27 | } 28 | $result = WikiConfig::get()->toArray(); 29 | 30 | 31 | if(empty($result) === false && count($result) > 0){ 32 | $this->data = array_merge($this->data,array_column($result,'value','key')); 33 | } 34 | 35 | $this->data['setting_site'] = true; 36 | return view('setting.site',$this->data); 37 | } 38 | } -------------------------------------------------------------------------------- /public/static/highlight/languages/dust.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Dust 3 | Requires: xml.js 4 | Author: Michael Allen 5 | Description: Matcher for dust.js templates. 6 | Category: template 7 | */ 8 | 9 | function(hljs) { 10 | var EXPRESSION_KEYWORDS = 'if eq ne lt lte gt gte select default math sep'; 11 | return { 12 | aliases: ['dst'], 13 | case_insensitive: true, 14 | subLanguage: 'xml', 15 | contains: [ 16 | { 17 | className: 'template-tag', 18 | begin: /\{[#\/]/, end: /\}/, illegal: /;/, 19 | contains: [ 20 | { 21 | className: 'name', 22 | begin: /[a-zA-Z\.-]+/, 23 | starts: { 24 | endsWithParent: true, relevance: 0, 25 | contains: [ 26 | hljs.QUOTE_STRING_MODE 27 | ] 28 | } 29 | } 30 | ] 31 | }, 32 | { 33 | className: 'template-variable', 34 | begin: /\{/, end: /\}/, illegal: /;/, 35 | keywords: EXPRESSION_KEYWORDS 36 | } 37 | ] 38 | }; 39 | } 40 | -------------------------------------------------------------------------------- /app/Extentions/Markdown/Parser/AutoLinkParser.php: -------------------------------------------------------------------------------- 1 | getCursor(); 26 | 27 | var_dump($cursor->getLine());exit; 28 | 29 | if ($m = $cursor->match('/[a-zA-z]+://[^\s]*/')) { 30 | 31 | 32 | $dest = substr($m, 1, -1); 33 | $inlineContext->getContainer()->appendChild(new Link(UrlEncoder::unescapeAndEncode($dest), $dest)); 34 | 35 | return true; 36 | } 37 | return false; 38 | } 39 | 40 | } -------------------------------------------------------------------------------- /resources/views/widget/project_member.blade.php: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 | 8 |
    9 |
    10 | @if($item->role_type == 0) 11 | 参与者 12 | @else 13 | 拥有者 14 | @endif 15 | 16 |
    17 |
    18 | 22 |
    23 |
    -------------------------------------------------------------------------------- /public/static/editormd/fonts/editormd-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by IcoMoon 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /public/static/highlight/styles/androidstudio.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 24 Fev 2015 3 | Author: Pedro Oliveira 4 | */ 5 | 6 | .hljs { 7 | color: #a9b7c6; 8 | background: #282b2e; 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | } 13 | 14 | .hljs-number, 15 | .hljs-literal, 16 | .hljs-symbol, 17 | .hljs-bullet { 18 | color: #6897BB; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-deletion { 24 | color: #cc7832; 25 | } 26 | 27 | .hljs-variable, 28 | .hljs-template-variable, 29 | .hljs-link { 30 | color: #629755; 31 | } 32 | 33 | .hljs-comment, 34 | .hljs-quote { 35 | color: #808080; 36 | } 37 | 38 | .hljs-meta { 39 | color: #bbb529; 40 | } 41 | 42 | .hljs-string, 43 | .hljs-attribute, 44 | .hljs-addition { 45 | color: #6A8759; 46 | } 47 | 48 | .hljs-section, 49 | .hljs-title, 50 | .hljs-type { 51 | color: #ffc66d; 52 | } 53 | 54 | .hljs-name, 55 | .hljs-selector-id, 56 | .hljs-selector-class { 57 | color: #e8bf6a; 58 | } 59 | 60 | .hljs-emphasis { 61 | font-style: italic; 62 | } 63 | 64 | .hljs-strong { 65 | font-weight: bold; 66 | } 67 | -------------------------------------------------------------------------------- /public/static/highlight/styles/dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Dark style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #444; 12 | } 13 | 14 | .hljs-keyword, 15 | .hljs-selector-tag, 16 | .hljs-literal, 17 | .hljs-section, 18 | .hljs-link { 19 | color: white; 20 | } 21 | 22 | .hljs, 23 | .hljs-subst { 24 | color: #ddd; 25 | } 26 | 27 | .hljs-string, 28 | .hljs-title, 29 | .hljs-name, 30 | .hljs-type, 31 | .hljs-attribute, 32 | .hljs-symbol, 33 | .hljs-bullet, 34 | .hljs-built_in, 35 | .hljs-addition, 36 | .hljs-variable, 37 | .hljs-template-tag, 38 | .hljs-template-variable { 39 | color: #d88; 40 | } 41 | 42 | .hljs-comment, 43 | .hljs-quote, 44 | .hljs-deletion, 45 | .hljs-meta { 46 | color: #777; 47 | } 48 | 49 | .hljs-keyword, 50 | .hljs-selector-tag, 51 | .hljs-literal, 52 | .hljs-title, 53 | .hljs-section, 54 | .hljs-doctag, 55 | .hljs-type, 56 | .hljs-name, 57 | .hljs-strong { 58 | font-weight: bold; 59 | } 60 | 61 | .hljs-emphasis { 62 | font-style: italic; 63 | } 64 | -------------------------------------------------------------------------------- /public/static/codemirror/addon/lint/json-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | // Depends on jsonlint.js from https://github.com/zaach/jsonlint 5 | 6 | // declare global: jsonlint 7 | 8 | (function(mod) { 9 | if (typeof exports == "object" && typeof module == "object") // CommonJS 10 | mod(require("../../lib/codemirror")); 11 | else if (typeof define == "function" && define.amd) // AMD 12 | define(["../../lib/codemirror"], mod); 13 | else // Plain browser env 14 | mod(CodeMirror); 15 | })(function(CodeMirror) { 16 | "use strict"; 17 | 18 | CodeMirror.registerHelper("lint", "json", function(text) { 19 | var found = []; 20 | jsonlint.parseError = function(str, hash) { 21 | var loc = hash.loc; 22 | found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column), 23 | to: CodeMirror.Pos(loc.last_line - 1, loc.last_column), 24 | message: str}); 25 | }; 26 | try { jsonlint.parse(text); } 27 | catch(e) {} 28 | return found; 29 | }); 30 | 31 | }); 32 | -------------------------------------------------------------------------------- /public/static/highlight/languages/gherkin.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Gherkin 3 | Author: Sam Pikesley (@pikesley) 4 | Description: Gherkin (Cucumber etc) 5 | */ 6 | 7 | function (hljs) { 8 | return { 9 | aliases: ['feature'], 10 | keywords: 'Feature Background Ability Business\ Need Scenario Scenarios Scenario\ Outline Scenario\ Template Examples Given And Then But When', 11 | contains: [ 12 | { 13 | className: 'symbol', 14 | begin: '\\*', 15 | relevance: 0 16 | }, 17 | { 18 | className: 'meta', 19 | begin: '@[^@\\s]+' 20 | }, 21 | { 22 | begin: '\\|', end: '\\|\\w*$', 23 | contains: [ 24 | { 25 | className: 'string', 26 | begin: '[^|]+' 27 | } 28 | ] 29 | }, 30 | { 31 | className: 'variable', 32 | begin: '<', end: '>' 33 | }, 34 | hljs.HASH_COMMENT_MODE, 35 | { 36 | className: 'string', 37 | begin: '"""', end: '"""' 38 | }, 39 | hljs.QUOTE_STRING_MODE 40 | ] 41 | }; 42 | } 43 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/addon/lint/json-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | // Depends on jsonlint.js from https://github.com/zaach/jsonlint 5 | 6 | // declare global: jsonlint 7 | 8 | (function(mod) { 9 | if (typeof exports == "object" && typeof module == "object") // CommonJS 10 | mod(require("../../lib/codemirror")); 11 | else if (typeof define == "function" && define.amd) // AMD 12 | define(["../../lib/codemirror"], mod); 13 | else // Plain browser env 14 | mod(CodeMirror); 15 | })(function(CodeMirror) { 16 | "use strict"; 17 | 18 | CodeMirror.registerHelper("lint", "json", function(text) { 19 | var found = []; 20 | jsonlint.parseError = function(str, hash) { 21 | var loc = hash.loc; 22 | found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column), 23 | to: CodeMirror.Pos(loc.last_line - 1, loc.last_column), 24 | message: str}); 25 | }; 26 | try { jsonlint.parse(text); } 27 | catch(e) {} 28 | return found; 29 | }); 30 | 31 | }); 32 | -------------------------------------------------------------------------------- /config/compile.php: -------------------------------------------------------------------------------- 1 | [ 17 | // 18 | ], 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Compiled File Providers 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may list service providers which define a "compiles" function 26 | | that returns additional files that should be compiled, providing an 27 | | easy way to get common files from any packages you are utilizing. 28 | | 29 | */ 30 | 31 | 'providers' => [ 32 | // 33 | ], 34 | 35 | ]; 36 | -------------------------------------------------------------------------------- /public/static/highlight/languages/accesslog.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Access log 3 | Author: Oleg Efimov 4 | Description: Apache/Nginx Access Logs 5 | */ 6 | 7 | function(hljs) { 8 | return { 9 | contains: [ 10 | // IP 11 | { 12 | className: 'number', 13 | begin: '\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b' 14 | }, 15 | // Other numbers 16 | { 17 | className: 'number', 18 | begin: '\\b\\d+\\b', 19 | relevance: 0 20 | }, 21 | // Requests 22 | { 23 | className: 'string', 24 | begin: '"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)', end: '"', 25 | keywords: 'GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE', 26 | illegal: '\\n', 27 | relevance: 10 28 | }, 29 | // Dates 30 | { 31 | className: 'string', 32 | begin: /\[/, end: /\]/, 33 | illegal: '\\n' 34 | }, 35 | // Strings 36 | { 37 | className: 'string', 38 | begin: '"', end: '"', 39 | illegal: '\\n' 40 | } 41 | ] 42 | }; 43 | } 44 | -------------------------------------------------------------------------------- /app/Models/RequestModel.php: -------------------------------------------------------------------------------- 1 | stream.pos) { stream.pos = i; return null; } 21 | stream.pos = l; 22 | return "trailingspace"; 23 | }, 24 | name: "trailingspace" 25 | }); 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /public/static/highlight/styles/codepen-embed.css: -------------------------------------------------------------------------------- 1 | /* 2 | codepen.io Embed Theme 3 | Author: Justin Perry 4 | Original theme - https://github.com/chriskempson/tomorrow-theme 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #222; 12 | color: #fff; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #777; 18 | } 19 | 20 | .hljs-variable, 21 | .hljs-template-variable, 22 | .hljs-tag, 23 | .hljs-regexp, 24 | .hljs-meta, 25 | .hljs-number, 26 | .hljs-built_in, 27 | .hljs-builtin-name, 28 | .hljs-literal, 29 | .hljs-params, 30 | .hljs-symbol, 31 | .hljs-bullet, 32 | .hljs-link, 33 | .hljs-deletion { 34 | color: #ab875d; 35 | } 36 | 37 | .hljs-section, 38 | .hljs-title, 39 | .hljs-name, 40 | .hljs-selector-id, 41 | .hljs-selector-class, 42 | .hljs-type, 43 | .hljs-attribute { 44 | color: #9b869b; 45 | } 46 | 47 | .hljs-string, 48 | .hljs-keyword, 49 | .hljs-selector-tag, 50 | .hljs-addition { 51 | color: #8f9c6c; 52 | } 53 | 54 | .hljs-emphasis { 55 | font-style: italic; 56 | } 57 | 58 | .hljs-strong { 59 | font-weight: bold; 60 | } 61 | -------------------------------------------------------------------------------- /config/services.php: -------------------------------------------------------------------------------- 1 | [ 18 | 'domain' => env('MAILGUN_DOMAIN'), 19 | 'secret' => env('MAILGUN_SECRET'), 20 | ], 21 | 22 | 'ses' => [ 23 | 'key' => env('SES_KEY'), 24 | 'secret' => env('SES_SECRET'), 25 | 'region' => 'us-east-1', 26 | ], 27 | 28 | 'sparkpost' => [ 29 | 'secret' => env('SPARKPOST_SECRET'), 30 | ], 31 | 32 | 'stripe' => [ 33 | 'model' => SmartWiki\User::class, 34 | 'key' => env('STRIPE_KEY'), 35 | 'secret' => env('STRIPE_SECRET'), 36 | ], 37 | 38 | ]; 39 | -------------------------------------------------------------------------------- /config/view.php: -------------------------------------------------------------------------------- 1 | [ 17 | realpath(base_path('resources/views')), 18 | ], 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Compiled View Path 23 | |-------------------------------------------------------------------------- 24 | | 25 | | This option determines where all the compiled Blade templates will be 26 | | stored for your application. Typically, this is within the storage 27 | | directory. However, as usual, you are free to change this value. 28 | | 29 | */ 30 | 31 | 'compiled' => realpath(storage_path('framework/views')), 32 | 33 | ]; 34 | -------------------------------------------------------------------------------- /public/static/codemirror/theme/neo.css: -------------------------------------------------------------------------------- 1 | /* neo theme for codemirror */ 2 | 3 | /* Color scheme */ 4 | 5 | .cm-s-neo.CodeMirror { 6 | background-color:#ffffff; 7 | color:#2e383c; 8 | line-height:1.4375; 9 | } 10 | .cm-s-neo .cm-comment { color:#75787b; } 11 | .cm-s-neo .cm-keyword, .cm-s-neo .cm-property { color:#1d75b3; } 12 | .cm-s-neo .cm-atom,.cm-s-neo .cm-number { color:#75438a; } 13 | .cm-s-neo .cm-node,.cm-s-neo .cm-tag { color:#9c3328; } 14 | .cm-s-neo .cm-string { color:#b35e14; } 15 | .cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier { color:#047d65; } 16 | 17 | 18 | /* Editor styling */ 19 | 20 | .cm-s-neo pre { 21 | padding:0; 22 | } 23 | 24 | .cm-s-neo .CodeMirror-gutters { 25 | border:none; 26 | border-right:10px solid transparent; 27 | background-color:transparent; 28 | } 29 | 30 | .cm-s-neo .CodeMirror-linenumber { 31 | padding:0; 32 | color:#e0e2e5; 33 | } 34 | 35 | .cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; } 36 | .cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; } 37 | 38 | .cm-s-neo .CodeMirror-cursor { 39 | width: auto; 40 | border: 0; 41 | background: rgba(155,157,162,0.37); 42 | z-index: 1; 43 | } 44 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/theme/neo.css: -------------------------------------------------------------------------------- 1 | /* neo theme for codemirror */ 2 | 3 | /* Color scheme */ 4 | 5 | .cm-s-neo.CodeMirror { 6 | background-color:#ffffff; 7 | color:#2e383c; 8 | line-height:1.4375; 9 | } 10 | .cm-s-neo .cm-comment {color:#75787b} 11 | .cm-s-neo .cm-keyword, .cm-s-neo .cm-property {color:#1d75b3} 12 | .cm-s-neo .cm-atom,.cm-s-neo .cm-number {color:#75438a} 13 | .cm-s-neo .cm-node,.cm-s-neo .cm-tag {color:#9c3328} 14 | .cm-s-neo .cm-string {color:#b35e14} 15 | .cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier {color:#047d65} 16 | 17 | 18 | /* Editor styling */ 19 | 20 | .cm-s-neo pre { 21 | padding:0; 22 | } 23 | 24 | .cm-s-neo .CodeMirror-gutters { 25 | border:none; 26 | border-right:10px solid transparent; 27 | background-color:transparent; 28 | } 29 | 30 | .cm-s-neo .CodeMirror-linenumber { 31 | padding:0; 32 | color:#e0e2e5; 33 | } 34 | 35 | .cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; } 36 | .cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; } 37 | 38 | .cm-s-neo div.CodeMirror-cursor { 39 | width: auto; 40 | border: 0; 41 | background: rgba(155,157,162,0.37); 42 | z-index: 1; 43 | } 44 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/addon/edit/trailingspace.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | CodeMirror.defineOption("showTrailingSpace", false, function(cm, val, prev) { 13 | if (prev == CodeMirror.Init) prev = false; 14 | if (prev && !val) 15 | cm.removeOverlay("trailingspace"); 16 | else if (!prev && val) 17 | cm.addOverlay({ 18 | token: function(stream) { 19 | for (var l = stream.string.length, i = l; i && /\s/.test(stream.string.charAt(i - 1)); --i) {} 20 | if (i > stream.pos) { stream.pos = i; return null; } 21 | stream.pos = l; 22 | return "trailingspace"; 23 | }, 24 | name: "trailingspace" 25 | }); 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /public/static/highlight/styles/brown-paper.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Brown Paper style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background:#b7a68e url(./brown-papersq.png); 12 | } 13 | 14 | .hljs-keyword, 15 | .hljs-selector-tag, 16 | .hljs-literal { 17 | color:#005599; 18 | font-weight:bold; 19 | } 20 | 21 | .hljs, 22 | .hljs-subst { 23 | color: #363c69; 24 | } 25 | 26 | .hljs-string, 27 | .hljs-title, 28 | .hljs-section, 29 | .hljs-type, 30 | .hljs-attribute, 31 | .hljs-symbol, 32 | .hljs-bullet, 33 | .hljs-built_in, 34 | .hljs-addition, 35 | .hljs-variable, 36 | .hljs-template-tag, 37 | .hljs-template-variable, 38 | .hljs-link, 39 | .hljs-name { 40 | color: #2c009f; 41 | } 42 | 43 | .hljs-comment, 44 | .hljs-quote, 45 | .hljs-meta, 46 | .hljs-deletion { 47 | color: #802022; 48 | } 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-literal, 53 | .hljs-doctag, 54 | .hljs-title, 55 | .hljs-section, 56 | .hljs-type, 57 | .hljs-name, 58 | .hljs-strong { 59 | font-weight: bold; 60 | } 61 | 62 | .hljs-emphasis { 63 | font-style: italic; 64 | } 65 | -------------------------------------------------------------------------------- /public/static/highlight/styles/vs.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Visual Studio-like style based on original C# coloring by Jason Diamond 4 | 5 | */ 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: white; 11 | color: black; 12 | } 13 | 14 | .hljs-comment, 15 | .hljs-quote, 16 | .hljs-variable { 17 | color: #008000; 18 | } 19 | 20 | .hljs-keyword, 21 | .hljs-selector-tag, 22 | .hljs-built_in, 23 | .hljs-name, 24 | .hljs-tag { 25 | color: #00f; 26 | } 27 | 28 | .hljs-string, 29 | .hljs-title, 30 | .hljs-section, 31 | .hljs-attribute, 32 | .hljs-literal, 33 | .hljs-template-tag, 34 | .hljs-template-variable, 35 | .hljs-type, 36 | .hljs-addition { 37 | color: #a31515; 38 | } 39 | 40 | .hljs-deletion, 41 | .hljs-selector-attr, 42 | .hljs-selector-pseudo, 43 | .hljs-meta { 44 | color: #2b91af; 45 | } 46 | 47 | .hljs-doctag { 48 | color: #808080; 49 | } 50 | 51 | .hljs-attr { 52 | color: #f00; 53 | } 54 | 55 | .hljs-symbol, 56 | .hljs-bullet, 57 | .hljs-link { 58 | color: #00b0e8; 59 | } 60 | 61 | 62 | .hljs-emphasis { 63 | font-style: italic; 64 | } 65 | 66 | .hljs-strong { 67 | font-weight: bold; 68 | } 69 | -------------------------------------------------------------------------------- /public/static/codemirror/mode/rust/test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function() { 5 | var mode = CodeMirror.getMode({indentUnit: 4}, "rust"); 6 | function MT(name) {test.mode(name, mode, Array.prototype.slice.call(arguments, 1));} 7 | 8 | MT('integer_test', 9 | '[number 123i32]', 10 | '[number 123u32]', 11 | '[number 123_u32]', 12 | '[number 0xff_u8]', 13 | '[number 0o70_i16]', 14 | '[number 0b1111_1111_1001_0000_i32]', 15 | '[number 0usize]'); 16 | 17 | MT('float_test', 18 | '[number 123.0f64]', 19 | '[number 0.1f64]', 20 | '[number 0.1f32]', 21 | '[number 12E+99_f64]'); 22 | 23 | MT('string-literals-test', 24 | '[string "foo"]', 25 | '[string r"foo"]', 26 | '[string "\\"foo\\""]', 27 | '[string r#""foo""#]', 28 | '[string "foo #\\"# bar"]', 29 | 30 | '[string b"foo"]', 31 | '[string br"foo"]', 32 | '[string b"\\"foo\\""]', 33 | '[string br#""foo""#]', 34 | '[string br##"foo #" bar"##]', 35 | 36 | "[string-2 'h']", 37 | "[string-2 b'h']"); 38 | 39 | })(); 40 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2014 by Marijn Haverbeke and others 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /public/static/highlight/styles/far.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | FAR Style (c) MajestiC 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #000080; 12 | } 13 | 14 | .hljs, 15 | .hljs-subst { 16 | color: #0ff; 17 | } 18 | 19 | .hljs-string, 20 | .hljs-attribute, 21 | .hljs-symbol, 22 | .hljs-bullet, 23 | .hljs-built_in, 24 | .hljs-builtin-name, 25 | .hljs-template-tag, 26 | .hljs-template-variable, 27 | .hljs-addition { 28 | color: #ff0; 29 | } 30 | 31 | .hljs-keyword, 32 | .hljs-selector-tag, 33 | .hljs-section, 34 | .hljs-type, 35 | .hljs-name, 36 | .hljs-selector-id, 37 | .hljs-selector-class, 38 | .hljs-variable { 39 | color: #fff; 40 | } 41 | 42 | .hljs-comment, 43 | .hljs-quote, 44 | .hljs-doctag, 45 | .hljs-deletion { 46 | color: #888; 47 | } 48 | 49 | .hljs-number, 50 | .hljs-regexp, 51 | .hljs-literal, 52 | .hljs-link { 53 | color: #0f0; 54 | } 55 | 56 | .hljs-meta { 57 | color: #008080; 58 | } 59 | 60 | .hljs-keyword, 61 | .hljs-selector-tag, 62 | .hljs-title, 63 | .hljs-section, 64 | .hljs-name, 65 | .hljs-strong { 66 | font-weight: bold; 67 | } 68 | 69 | .hljs-emphasis { 70 | font-style: italic; 71 | } 72 | -------------------------------------------------------------------------------- /app/Extentions/Markdown/Renderer/DocumentRenderer.php: -------------------------------------------------------------------------------- 1 | renderBlocks($block->children()); 32 | 33 | 34 | return $wholeDoc === '' ? '' : $wholeDoc . "\n"; 35 | } 36 | 37 | } -------------------------------------------------------------------------------- /app/Extentions/Markdown/Renderer/HttpMethodRenderer.php: -------------------------------------------------------------------------------- 1 | getMethod()); 27 | 28 | $text = '' . $block->getMethod() . '' . $block->getLink(); 29 | 30 | $attrs = ['class' => 'http-method']; 31 | 32 | return new HtmlElement('div', $attrs, $text); 33 | 34 | } 35 | 36 | } -------------------------------------------------------------------------------- /public/static/highlight/styles/arta.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 17.V.2011 3 | Author: pumbur 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: #222; 11 | } 12 | 13 | .hljs, 14 | .hljs-subst { 15 | color: #aaa; 16 | } 17 | 18 | .hljs-section { 19 | color: #fff; 20 | } 21 | 22 | .hljs-comment, 23 | .hljs-quote, 24 | .hljs-meta { 25 | color: #444; 26 | } 27 | 28 | .hljs-string, 29 | .hljs-symbol, 30 | .hljs-bullet, 31 | .hljs-regexp { 32 | color: #ffcc33; 33 | } 34 | 35 | .hljs-number, 36 | .hljs-addition { 37 | color: #00cc66; 38 | } 39 | 40 | .hljs-built_in, 41 | .hljs-builtin-name, 42 | .hljs-literal, 43 | .hljs-type, 44 | .hljs-template-variable, 45 | .hljs-attribute, 46 | .hljs-link { 47 | color: #32aaee; 48 | } 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-name, 53 | .hljs-selector-id, 54 | .hljs-selector-class { 55 | color: #6644aa; 56 | } 57 | 58 | .hljs-title, 59 | .hljs-variable, 60 | .hljs-deletion, 61 | .hljs-template-tag { 62 | color: #bb1166; 63 | } 64 | 65 | .hljs-section, 66 | .hljs-doctag, 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | 71 | .hljs-emphasis { 72 | font-style: italic; 73 | } 74 | -------------------------------------------------------------------------------- /bootstrap/autoload.php: -------------------------------------------------------------------------------- 1 | 4 | Category: common, protocols 5 | */ 6 | 7 | function(hljs) { 8 | var LITERALS = {literal: 'true false null'}; 9 | var TYPES = [ 10 | hljs.QUOTE_STRING_MODE, 11 | hljs.C_NUMBER_MODE 12 | ]; 13 | var VALUE_CONTAINER = { 14 | end: ',', endsWithParent: true, excludeEnd: true, 15 | contains: TYPES, 16 | keywords: LITERALS 17 | }; 18 | var OBJECT = { 19 | begin: '{', end: '}', 20 | contains: [ 21 | { 22 | className: 'attr', 23 | begin: /"/, end: /"/, 24 | contains: [hljs.BACKSLASH_ESCAPE], 25 | illegal: '\\n', 26 | }, 27 | hljs.inherit(VALUE_CONTAINER, {begin: /:/}) 28 | ], 29 | illegal: '\\S' 30 | }; 31 | var ARRAY = { 32 | begin: '\\[', end: '\\]', 33 | contains: [hljs.inherit(VALUE_CONTAINER)], // inherit is a workaround for a bug that makes shared modes with endsWithParent compile only the ending of one of the parents 34 | illegal: '\\S' 35 | }; 36 | TYPES.splice(TYPES.length, 0, OBJECT, ARRAY); 37 | return { 38 | contains: TYPES, 39 | keywords: LITERALS, 40 | illegal: '\\S' 41 | }; 42 | } 43 | -------------------------------------------------------------------------------- /public/static/highlight/languages/diff.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Diff 3 | Description: Unified and context diff 4 | Author: Vasily Polovnyov 5 | Category: common 6 | */ 7 | 8 | function(hljs) { 9 | return { 10 | aliases: ['patch'], 11 | contains: [ 12 | { 13 | className: 'meta', 14 | relevance: 10, 15 | variants: [ 16 | {begin: /^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/}, 17 | {begin: /^\*\*\* +\d+,\d+ +\*\*\*\*$/}, 18 | {begin: /^\-\-\- +\d+,\d+ +\-\-\-\-$/} 19 | ] 20 | }, 21 | { 22 | className: 'comment', 23 | variants: [ 24 | {begin: /Index: /, end: /$/}, 25 | {begin: /={3,}/, end: /$/}, 26 | {begin: /^\-{3}/, end: /$/}, 27 | {begin: /^\*{3} /, end: /$/}, 28 | {begin: /^\+{3}/, end: /$/}, 29 | {begin: /\*{5}/, end: /\*{5}$/} 30 | ] 31 | }, 32 | { 33 | className: 'addition', 34 | begin: '^\\+', end: '$' 35 | }, 36 | { 37 | className: 'deletion', 38 | begin: '^\\-', end: '$' 39 | }, 40 | { 41 | className: 'addition', 42 | begin: '^\\!', end: '$' 43 | } 44 | ] 45 | }; 46 | } 47 | -------------------------------------------------------------------------------- /public/static/highlight/styles/ir-black.css: -------------------------------------------------------------------------------- 1 | /* 2 | IR_Black style (c) Vasily Mikhailitchenko 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #000; 10 | color: #f8f8f8; 11 | } 12 | 13 | .hljs-comment, 14 | .hljs-quote, 15 | .hljs-meta { 16 | color: #7c7c7c; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-selector-tag, 21 | .hljs-tag, 22 | .hljs-name { 23 | color: #96cbfe; 24 | } 25 | 26 | .hljs-attribute, 27 | .hljs-selector-id { 28 | color: #ffffb6; 29 | } 30 | 31 | .hljs-string, 32 | .hljs-selector-attr, 33 | .hljs-selector-pseudo, 34 | .hljs-addition { 35 | color: #a8ff60; 36 | } 37 | 38 | .hljs-subst { 39 | color: #daefa3; 40 | } 41 | 42 | .hljs-regexp, 43 | .hljs-link { 44 | color: #e9c062; 45 | } 46 | 47 | .hljs-title, 48 | .hljs-section, 49 | .hljs-type, 50 | .hljs-doctag { 51 | color: #ffffb6; 52 | } 53 | 54 | .hljs-symbol, 55 | .hljs-bullet, 56 | .hljs-variable, 57 | .hljs-template-variable, 58 | .hljs-literal { 59 | color: #c6c5fe; 60 | } 61 | 62 | .hljs-number, 63 | .hljs-deletion { 64 | color:#ff73fd; 65 | } 66 | 67 | .hljs-emphasis { 68 | font-style: italic; 69 | } 70 | 71 | .hljs-strong { 72 | font-weight: bold; 73 | } 74 | -------------------------------------------------------------------------------- /public/static/highlight/styles/magula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Magula style for highligh.js 3 | Author: Ruslan Keba 4 | Website: http://rukeba.com/ 5 | Version: 1.0 6 | Date: 2009-01-03 7 | Music: Aphex Twin / Xtal 8 | */ 9 | 10 | .hljs { 11 | display: block; 12 | overflow-x: auto; 13 | padding: 0.5em; 14 | background-color: #f4f4f4; 15 | } 16 | 17 | .hljs, 18 | .hljs-subst { 19 | color: black; 20 | } 21 | 22 | .hljs-string, 23 | .hljs-title, 24 | .hljs-symbol, 25 | .hljs-bullet, 26 | .hljs-attribute, 27 | .hljs-addition, 28 | .hljs-variable, 29 | .hljs-template-tag, 30 | .hljs-template-variable { 31 | color: #050; 32 | } 33 | 34 | .hljs-comment, 35 | .hljs-quote { 36 | color: #777; 37 | } 38 | 39 | .hljs-number, 40 | .hljs-regexp, 41 | .hljs-literal, 42 | .hljs-type, 43 | .hljs-link { 44 | color: #800; 45 | } 46 | 47 | .hljs-deletion, 48 | .hljs-meta { 49 | color: #00e; 50 | } 51 | 52 | .hljs-keyword, 53 | .hljs-selector-tag, 54 | .hljs-doctag, 55 | .hljs-title, 56 | .hljs-section, 57 | .hljs-built_in, 58 | .hljs-tag, 59 | .hljs-name { 60 | font-weight: bold; 61 | color: navy; 62 | } 63 | 64 | .hljs-emphasis { 65 | font-style: italic; 66 | } 67 | 68 | .hljs-strong { 69 | font-weight: bold; 70 | } 71 | -------------------------------------------------------------------------------- /public/static/highlight/styles/color-brewer.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Colorbrewer theme 4 | Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock 5 | Ported by Fabrício Tavares de Oliveira 6 | 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | background: #fff; 14 | } 15 | 16 | .hljs, 17 | .hljs-subst { 18 | color: #000; 19 | } 20 | 21 | .hljs-string, 22 | .hljs-meta, 23 | .hljs-symbol, 24 | .hljs-template-tag, 25 | .hljs-template-variable, 26 | .hljs-addition { 27 | color: #756bb1; 28 | } 29 | 30 | .hljs-comment, 31 | .hljs-quote { 32 | color: #636363; 33 | } 34 | 35 | .hljs-number, 36 | .hljs-regexp, 37 | .hljs-literal, 38 | .hljs-bullet, 39 | .hljs-link { 40 | color: #31a354; 41 | } 42 | 43 | .hljs-deletion, 44 | .hljs-variable { 45 | color: #88f; 46 | } 47 | 48 | 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-title, 53 | .hljs-section, 54 | .hljs-built_in, 55 | .hljs-doctag, 56 | .hljs-type, 57 | .hljs-tag, 58 | .hljs-name, 59 | .hljs-selector-id, 60 | .hljs-selector-class, 61 | .hljs-strong { 62 | color: #3182bd; 63 | } 64 | 65 | .hljs-emphasis { 66 | font-style: italic; 67 | } 68 | 69 | .hljs-attribute { 70 | color: #e6550d; 71 | } 72 | -------------------------------------------------------------------------------- /public/static/editormd/lib/codemirror/theme/eclipse.css: -------------------------------------------------------------------------------- 1 | .cm-s-eclipse span.cm-meta {color: #FF1717;} 2 | .cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; } 3 | .cm-s-eclipse span.cm-atom {color: #219;} 4 | .cm-s-eclipse span.cm-number {color: #164;} 5 | .cm-s-eclipse span.cm-def {color: #00f;} 6 | .cm-s-eclipse span.cm-variable {color: black;} 7 | .cm-s-eclipse span.cm-variable-2 {color: #0000C0;} 8 | .cm-s-eclipse span.cm-variable-3 {color: #0000C0;} 9 | .cm-s-eclipse span.cm-property {color: black;} 10 | .cm-s-eclipse span.cm-operator {color: black;} 11 | .cm-s-eclipse span.cm-comment {color: #3F7F5F;} 12 | .cm-s-eclipse span.cm-string {color: #2A00FF;} 13 | .cm-s-eclipse span.cm-string-2 {color: #f50;} 14 | .cm-s-eclipse span.cm-qualifier {color: #555;} 15 | .cm-s-eclipse span.cm-builtin {color: #30a;} 16 | .cm-s-eclipse span.cm-bracket {color: #cc7;} 17 | .cm-s-eclipse span.cm-tag {color: #170;} 18 | .cm-s-eclipse span.cm-attribute {color: #00c;} 19 | .cm-s-eclipse span.cm-link {color: #219;} 20 | .cm-s-eclipse span.cm-error {color: #f00;} 21 | 22 | .cm-s-eclipse .CodeMirror-activeline-background {background: #e8f2ff !important;} 23 | .cm-s-eclipse .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} 24 | -------------------------------------------------------------------------------- /public/static/highlight/languages/handlebars.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Handlebars 3 | Requires: xml.js 4 | Author: Robin Ward 5 | Description: Matcher for Handlebars as well as EmberJS additions. 6 | Category: template 7 | */ 8 | 9 | function(hljs) { 10 | var BUILT_INS = {'builtin-name': 'each in with if else unless bindattr action collection debugger log outlet template unbound view yield'}; 11 | return { 12 | aliases: ['hbs', 'html.hbs', 'html.handlebars'], 13 | case_insensitive: true, 14 | subLanguage: 'xml', 15 | contains: [ 16 | hljs.COMMENT('{{!(--)?', '(--)?}}'), 17 | { 18 | className: 'template-tag', 19 | begin: /\{\{[#\/]/, end: /\}\}/, 20 | contains: [ 21 | { 22 | className: 'name', 23 | begin: /[a-zA-Z\.-]+/, 24 | keywords: BUILT_INS, 25 | starts: { 26 | endsWithParent: true, relevance: 0, 27 | contains: [ 28 | hljs.QUOTE_STRING_MODE 29 | ] 30 | } 31 | } 32 | ] 33 | }, 34 | { 35 | className: 'template-variable', 36 | begin: /\{\{/, end: /\}\}/, 37 | keywords: BUILT_INS 38 | } 39 | ] 40 | }; 41 | } 42 | -------------------------------------------------------------------------------- /public/static/highlight/languages/makefile.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Makefile 3 | Author: Ivan Sagalaev 4 | Category: common 5 | */ 6 | 7 | function(hljs) { 8 | var VARIABLE = { 9 | className: 'variable', 10 | begin: /\$\(/, end: /\)/, 11 | contains: [hljs.BACKSLASH_ESCAPE] 12 | }; 13 | return { 14 | aliases: ['mk', 'mak'], 15 | contains: [ 16 | hljs.HASH_COMMENT_MODE, 17 | { 18 | begin: /^\w+\s*\W*=/, returnBegin: true, 19 | relevance: 0, 20 | starts: { 21 | end: /\s*\W*=/, excludeEnd: true, 22 | starts: { 23 | end: /$/, 24 | relevance: 0, 25 | contains: [ 26 | VARIABLE 27 | ] 28 | } 29 | } 30 | }, 31 | { 32 | className: 'section', 33 | begin: /^[\w]+:\s*$/ 34 | }, 35 | { 36 | className: 'meta', 37 | begin: /^\.PHONY:/, end: /$/, 38 | keywords: {'meta-keyword': '.PHONY'}, lexemes: /[\.\w]+/ 39 | }, 40 | { 41 | begin: /^\t+/, end: /$/, 42 | relevance: 0, 43 | contains: [ 44 | hljs.QUOTE_STRING_MODE, 45 | VARIABLE 46 | ] 47 | } 48 | ] 49 | }; 50 | } 51 | -------------------------------------------------------------------------------- /public/static/highlight/languages/thrift.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Thrift 3 | Author: Oleg Efimov 4 | Description: Thrift message definition format 5 | Category: protocols 6 | */ 7 | 8 | function(hljs) { 9 | var BUILT_IN_TYPES = 'bool byte i16 i32 i64 double string binary'; 10 | return { 11 | keywords: { 12 | keyword: 13 | 'namespace const typedef struct enum service exception void oneway set list map required optional', 14 | built_in: 15 | BUILT_IN_TYPES, 16 | literal: 17 | 'true false' 18 | }, 19 | contains: [ 20 | hljs.QUOTE_STRING_MODE, 21 | hljs.NUMBER_MODE, 22 | hljs.C_LINE_COMMENT_MODE, 23 | hljs.C_BLOCK_COMMENT_MODE, 24 | { 25 | className: 'class', 26 | beginKeywords: 'struct enum service exception', end: /\{/, 27 | illegal: /\n/, 28 | contains: [ 29 | hljs.inherit(hljs.TITLE_MODE, { 30 | starts: {endsWithParent: true, excludeEnd: true} // hack: eating everything after the first title 31 | }) 32 | ] 33 | }, 34 | { 35 | begin: '\\b(set|list|map)\\s*<', end: '>', 36 | keywords: BUILT_IN_TYPES, 37 | contains: ['self'] 38 | } 39 | ] 40 | }; 41 | } 42 | -------------------------------------------------------------------------------- /public/static/codemirror/theme/eclipse.css: -------------------------------------------------------------------------------- 1 | .cm-s-eclipse span.cm-meta { color: #FF1717; } 2 | .cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; } 3 | .cm-s-eclipse span.cm-atom { color: #219; } 4 | .cm-s-eclipse span.cm-number { color: #164; } 5 | .cm-s-eclipse span.cm-def { color: #00f; } 6 | .cm-s-eclipse span.cm-variable { color: black; } 7 | .cm-s-eclipse span.cm-variable-2 { color: #0000C0; } 8 | .cm-s-eclipse span.cm-variable-3 { color: #0000C0; } 9 | .cm-s-eclipse span.cm-property { color: black; } 10 | .cm-s-eclipse span.cm-operator { color: black; } 11 | .cm-s-eclipse span.cm-comment { color: #3F7F5F; } 12 | .cm-s-eclipse span.cm-string { color: #2A00FF; } 13 | .cm-s-eclipse span.cm-string-2 { color: #f50; } 14 | .cm-s-eclipse span.cm-qualifier { color: #555; } 15 | .cm-s-eclipse span.cm-builtin { color: #30a; } 16 | .cm-s-eclipse span.cm-bracket { color: #cc7; } 17 | .cm-s-eclipse span.cm-tag { color: #170; } 18 | .cm-s-eclipse span.cm-attribute { color: #00c; } 19 | .cm-s-eclipse span.cm-link { color: #219; } 20 | .cm-s-eclipse span.cm-error { color: #f00; } 21 | 22 | .cm-s-eclipse .CodeMirror-activeline-background { background: #e8f2ff; } 23 | .cm-s-eclipse .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } 24 | -------------------------------------------------------------------------------- /public/static/highlight/styles/github-gist.css: -------------------------------------------------------------------------------- 1 | /** 2 | * GitHub Gist Theme 3 | * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | background: white; 9 | padding: 0.5em; 10 | color: #333333; 11 | overflow-x: auto; 12 | } 13 | 14 | .hljs-comment, 15 | .hljs-meta { 16 | color: #969896; 17 | } 18 | 19 | .hljs-string, 20 | .hljs-variable, 21 | .hljs-template-variable, 22 | .hljs-strong, 23 | .hljs-emphasis, 24 | .hljs-quote { 25 | color: #df5000; 26 | } 27 | 28 | .hljs-keyword, 29 | .hljs-selector-tag, 30 | .hljs-type { 31 | color: #a71d5d; 32 | } 33 | 34 | .hljs-literal, 35 | .hljs-symbol, 36 | .hljs-bullet, 37 | .hljs-attribute { 38 | color: #0086b3; 39 | } 40 | 41 | .hljs-section, 42 | .hljs-name { 43 | color: #63a35c; 44 | } 45 | 46 | .hljs-tag { 47 | color: #333333; 48 | } 49 | 50 | .hljs-title, 51 | .hljs-attr, 52 | .hljs-selector-id, 53 | .hljs-selector-class, 54 | .hljs-selector-attr, 55 | .hljs-selector-pseudo { 56 | color: #795da3; 57 | } 58 | 59 | .hljs-addition { 60 | color: #55a532; 61 | background-color: #eaffea; 62 | } 63 | 64 | .hljs-deletion { 65 | color: #bd2c00; 66 | background-color: #ffecec; 67 | } 68 | 69 | .hljs-link { 70 | text-decoration: underline; 71 | } 72 | -------------------------------------------------------------------------------- /public/static/highlight/languages/parser3.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Parser3 3 | Requires: xml.js 4 | Author: Oleg Volchkov 5 | Category: template 6 | */ 7 | 8 | function(hljs) { 9 | var CURLY_SUBCOMMENT = hljs.COMMENT( 10 | '{', 11 | '}', 12 | { 13 | contains: ['self'] 14 | } 15 | ); 16 | return { 17 | subLanguage: 'xml', relevance: 0, 18 | contains: [ 19 | hljs.COMMENT('^#', '$'), 20 | hljs.COMMENT( 21 | '\\^rem{', 22 | '}', 23 | { 24 | relevance: 10, 25 | contains: [ 26 | CURLY_SUBCOMMENT 27 | ] 28 | } 29 | ), 30 | { 31 | className: 'meta', 32 | begin: '^@(?:BASE|USE|CLASS|OPTIONS)$', 33 | relevance: 10 34 | }, 35 | { 36 | className: 'title', 37 | begin: '@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$' 38 | }, 39 | { 40 | className: 'variable', 41 | begin: '\\$\\{?[\\w\\-\\.\\:]+\\}?' 42 | }, 43 | { 44 | className: 'keyword', 45 | begin: '\\^[\\w\\-\\.\\:]+' 46 | }, 47 | { 48 | className: 'number', 49 | begin: '\\^#[0-9a-fA-F]+' 50 | }, 51 | hljs.C_NUMBER_MODE 52 | ] 53 | }; 54 | } 55 | -------------------------------------------------------------------------------- /public/static/highlight/styles/monokai.css: -------------------------------------------------------------------------------- 1 | /* 2 | Monokai style - ported by Luigi Maselli - http://grigio.org 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #272822; color: #ddd; 10 | } 11 | 12 | .hljs-tag, 13 | .hljs-keyword, 14 | .hljs-selector-tag, 15 | .hljs-literal, 16 | .hljs-strong, 17 | .hljs-name { 18 | color: #f92672; 19 | } 20 | 21 | .hljs-code { 22 | color: #66d9ef; 23 | } 24 | 25 | .hljs-class .hljs-title { 26 | color: white; 27 | } 28 | 29 | .hljs-attribute, 30 | .hljs-symbol, 31 | .hljs-regexp, 32 | .hljs-link { 33 | color: #bf79db; 34 | } 35 | 36 | .hljs-string, 37 | .hljs-bullet, 38 | .hljs-subst, 39 | .hljs-title, 40 | .hljs-section, 41 | .hljs-emphasis, 42 | .hljs-type, 43 | .hljs-built_in, 44 | .hljs-builtin-name, 45 | .hljs-selector-attr, 46 | .hljs-selector-pseudo, 47 | .hljs-addition, 48 | .hljs-variable, 49 | .hljs-template-tag, 50 | .hljs-template-variable { 51 | color: #a6e22e; 52 | } 53 | 54 | .hljs-comment, 55 | .hljs-quote, 56 | .hljs-deletion, 57 | .hljs-meta { 58 | color: #75715e; 59 | } 60 | 61 | .hljs-keyword, 62 | .hljs-selector-tag, 63 | .hljs-literal, 64 | .hljs-doctag, 65 | .hljs-title, 66 | .hljs-section, 67 | .hljs-type, 68 | .hljs-selector-id { 69 | font-weight: bold; 70 | } 71 | -------------------------------------------------------------------------------- /public/static/highlight/languages/axapta.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Axapta 3 | Author: Dmitri Roudakov 4 | Category: enterprise 5 | */ 6 | 7 | function(hljs) { 8 | return { 9 | keywords: 'false int abstract private char boolean static null if for true ' + 10 | 'while long throw finally protected final return void enum else ' + 11 | 'break new catch byte super case short default double public try this switch ' + 12 | 'continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count ' + 13 | 'order group by asc desc index hint like dispaly edit client server ttsbegin ' + 14 | 'ttscommit str real date container anytype common div mod', 15 | contains: [ 16 | hljs.C_LINE_COMMENT_MODE, 17 | hljs.C_BLOCK_COMMENT_MODE, 18 | hljs.APOS_STRING_MODE, 19 | hljs.QUOTE_STRING_MODE, 20 | hljs.C_NUMBER_MODE, 21 | { 22 | className: 'meta', 23 | begin: '#', end: '$' 24 | }, 25 | { 26 | className: 'class', 27 | beginKeywords: 'class interface', end: '{', excludeEnd: true, 28 | illegal: ':', 29 | contains: [ 30 | {beginKeywords: 'extends implements'}, 31 | hljs.UNDERSCORE_TITLE_MODE 32 | ] 33 | } 34 | ] 35 | }; 36 | } 37 | -------------------------------------------------------------------------------- /resources/views/welcome.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Laravel 6 | 7 | 8 | 9 | 38 | 39 | 40 |
    41 |
    42 |
    Laravel 5
    43 |
    44 |
    45 | 46 | 47 | -------------------------------------------------------------------------------- /public/static/highlight/styles/darcula.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Darcula color scheme from the JetBrains family of IDEs 4 | 5 | */ 6 | 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #2b2b2b; 13 | } 14 | 15 | .hljs { 16 | color: #bababa; 17 | } 18 | 19 | .hljs-strong, 20 | .hljs-emphasis { 21 | color: #a8a8a2; 22 | } 23 | 24 | .hljs-bullet, 25 | .hljs-quote, 26 | .hljs-link, 27 | .hljs-number, 28 | .hljs-regexp, 29 | .hljs-literal { 30 | color: #6896ba; 31 | } 32 | 33 | .hljs-code, 34 | .hljs-selector-class { 35 | color: #a6e22e; 36 | } 37 | 38 | .hljs-emphasis { 39 | font-style: italic; 40 | } 41 | 42 | .hljs-keyword, 43 | .hljs-selector-tag, 44 | .hljs-section, 45 | .hljs-attribute, 46 | .hljs-name, 47 | .hljs-variable { 48 | color: #cb7832; 49 | } 50 | 51 | .hljs-params { 52 | color: #b9b9b9; 53 | } 54 | 55 | .hljs-string { 56 | color: #6a8759; 57 | } 58 | 59 | .hljs-subst, 60 | .hljs-type, 61 | .hljs-built_in, 62 | .hljs-builtin-name, 63 | .hljs-symbol, 64 | .hljs-selector-id, 65 | .hljs-selector-attr, 66 | .hljs-selector-pseudo, 67 | .hljs-template-tag, 68 | .hljs-template-variable, 69 | .hljs-addition { 70 | color: #e0c46c; 71 | } 72 | 73 | .hljs-comment, 74 | .hljs-deletion, 75 | .hljs-meta { 76 | color: #7f7f7f; 77 | } 78 | -------------------------------------------------------------------------------- /config/attachicons.php: -------------------------------------------------------------------------------- 1 | '/static/editormd/images/attachicons/html.gif', 11 | 'jsp' => '/static/editormd/images/attachicons/html.gif', 12 | 'html' => '/static/editormd/images/attachicons/html.gif', 13 | 'go' => '/static/editormd/images/attachicons/html.gif', 14 | 'xls' => '/static/editormd/images/attachicons/msoffice.gif', 15 | 'xlsx' => '/static/editormd/images/attachicons/msoffice.gif', 16 | 'doc' => '/static/editormd/images/attachicons/msoffice.gif', 17 | 'docx' => '/static/editormd/images/attachicons/msoffice.gif', 18 | 'ppt' => '/static/editormd/images/attachicons/msoffice.gif', 19 | 'pptx' => '/static/editormd/images/attachicons/msoffice.gif', 20 | 'txt' => '/static/editormd/images/attachicons/text.gif', 21 | 'zip' => '/static/editormd/images/attachicons/zip.gif', 22 | 'rar' => '/static/editormd/images/attachicons/rar.gif', 23 | '7z' => '/static/editormd/images/attachicons/zip.gif', 24 | 'pdf' => '/static/editormd/images/attachicons/pdf.gif', 25 | 'flv' => '/static/editormd/images/attachicons/flash.gif', 26 | 'default' => '/static/editormd/images/attachicons/zip.gif', 27 | ]; -------------------------------------------------------------------------------- /public/static/highlight/languages/protobuf.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Protocol Buffers 3 | Author: Dan Tao 4 | Description: Protocol buffer message definition format 5 | Category: protocols 6 | */ 7 | 8 | function(hljs) { 9 | return { 10 | keywords: { 11 | keyword: 'package import option optional required repeated group', 12 | built_in: 'double float int32 int64 uint32 uint64 sint32 sint64 ' + 13 | 'fixed32 fixed64 sfixed32 sfixed64 bool string bytes', 14 | literal: 'true false' 15 | }, 16 | contains: [ 17 | hljs.QUOTE_STRING_MODE, 18 | hljs.NUMBER_MODE, 19 | hljs.C_LINE_COMMENT_MODE, 20 | { 21 | className: 'class', 22 | beginKeywords: 'message enum service', end: /\{/, 23 | illegal: /\n/, 24 | contains: [ 25 | hljs.inherit(hljs.TITLE_MODE, { 26 | starts: {endsWithParent: true, excludeEnd: true} // hack: eating everything after the first title 27 | }) 28 | ] 29 | }, 30 | { 31 | className: 'function', 32 | beginKeywords: 'rpc', 33 | end: /;/, excludeEnd: true, 34 | keywords: 'rpc returns' 35 | }, 36 | { 37 | begin: /^\s*[A-Z_]+/, 38 | end: /\s*=/, excludeEnd: true 39 | } 40 | ] 41 | }; 42 | } 43 | -------------------------------------------------------------------------------- /public/static/codemirror/mode/python/test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function() { 5 | var mode = CodeMirror.getMode({indentUnit: 4}, 6 | {name: "python", 7 | version: 3, 8 | singleLineStringErrors: false}); 9 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } 10 | 11 | // Error, because "foobarhello" is neither a known type or property, but 12 | // property was expected (after "and"), and it should be in parentheses. 13 | MT("decoratorStartOfLine", 14 | "[meta @dec]", 15 | "[keyword def] [def function]():", 16 | " [keyword pass]"); 17 | 18 | MT("decoratorIndented", 19 | "[keyword class] [def Foo]:", 20 | " [meta @dec]", 21 | " [keyword def] [def function]():", 22 | " [keyword pass]"); 23 | 24 | MT("matmulWithSpace:", "[variable a] [operator @] [variable b]"); 25 | MT("matmulWithoutSpace:", "[variable a][operator @][variable b]"); 26 | MT("matmulSpaceBefore:", "[variable a] [operator @][variable b]"); 27 | 28 | MT("fValidStringPrefix", "[string f'this is a {formatted} string']"); 29 | MT("uValidStringPrefix", "[string u'this is an unicode string']"); 30 | })(); 31 | -------------------------------------------------------------------------------- /public/static/codemirror/addon/lint/css-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | // Depends on csslint.js from https://github.com/stubbornella/csslint 5 | 6 | // declare global: CSSLint 7 | 8 | (function(mod) { 9 | if (typeof exports == "object" && typeof module == "object") // CommonJS 10 | mod(require("../../lib/codemirror")); 11 | else if (typeof define == "function" && define.amd) // AMD 12 | define(["../../lib/codemirror"], mod); 13 | else // Plain browser env 14 | mod(CodeMirror); 15 | })(function(CodeMirror) { 16 | "use strict"; 17 | 18 | CodeMirror.registerHelper("lint", "css", function(text) { 19 | var found = []; 20 | if (!window.CSSLint) return found; 21 | var results = CSSLint.verify(text), messages = results.messages, message = null; 22 | for ( var i = 0; i < messages.length; i++) { 23 | message = messages[i]; 24 | var startLine = message.line -1, endLine = message.line -1, startCol = message.col -1, endCol = message.col; 25 | found.push({ 26 | from: CodeMirror.Pos(startLine, startCol), 27 | to: CodeMirror.Pos(endLine, endCol), 28 | message: message.message, 29 | severity : message.type 30 | }); 31 | } 32 | return found; 33 | }); 34 | 35 | }); 36 | -------------------------------------------------------------------------------- /public/static/highlight/languages/flix.js: -------------------------------------------------------------------------------- 1 | /* 2 | Language: Flix 3 | Category: functional 4 | Author: Magnus Madsen 5 | */ 6 | 7 | function (hljs) { 8 | 9 | var CHAR = { 10 | className: 'string', 11 | begin: /'(.|\\[xXuU][a-zA-Z0-9]+)'/ 12 | }; 13 | 14 | var STRING = { 15 | className: 'string', 16 | variants: [ 17 | { 18 | begin: '"', end: '"' 19 | } 20 | ] 21 | }; 22 | 23 | var NAME = { 24 | className: 'title', 25 | begin: /[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/ 26 | }; 27 | 28 | var METHOD = { 29 | className: 'function', 30 | beginKeywords: 'def', 31 | end: /[:={\[(\n;]/, 32 | excludeEnd: true, 33 | contains: [NAME] 34 | }; 35 | 36 | return { 37 | keywords: { 38 | literal: 'true false', 39 | keyword: 'case class def else enum if impl import in lat rel index let match namespace switch type yield with' 40 | }, 41 | contains: [ 42 | hljs.C_LINE_COMMENT_MODE, 43 | hljs.C_BLOCK_COMMENT_MODE, 44 | CHAR, 45 | STRING, 46 | METHOD, 47 | hljs.C_NUMBER_MODE 48 | ] 49 | }; 50 | } 51 | -------------------------------------------------------------------------------- /app/Http/Controllers/QrCodeController.php: -------------------------------------------------------------------------------- 1 | request->get('id')); 20 | 21 | if($projectId <= 0){ 22 | abort(404); 23 | } 24 | $path = public_path('uploads/qrcode/') . $projectId . '.png'; 25 | if(file_exists($path) && is_readable($path)){ 26 | $png = file_get_contents($path); 27 | }else { 28 | $project = Project::getProjectFromCache($projectId); 29 | if (empty($project)) { 30 | abort(404); 31 | } 32 | $url = route('home.show', ['id' => $projectId]); 33 | 34 | $png = QrCode::format('png')->margin(1)->size(160)->generate($url); 35 | // var_dump(dirname($path));exit; 36 | 37 | @mkdir(dirname($path),0766,true); 38 | 39 | @file_put_contents($path,$png); 40 | } 41 | 42 | return (new Response($png, 200)) 43 | ->header('Content-Type', 'image/png'); 44 | } 45 | } -------------------------------------------------------------------------------- /app/Models/Attachment.php: -------------------------------------------------------------------------------- 1 |