├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── LICENSE ├── README.md ├── conf.properties ├── doc ├── conf.png ├── home.png ├── lisner.png ├── location.png ├── login.png └── upstream.png ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── aiyi │ │ └── server │ │ └── manager │ │ └── nginx │ │ ├── NginxManagerApplication.java │ │ ├── annotation │ │ └── NoHandlerLogger.java │ │ ├── applicationconf │ │ └── SessionLoginConf.java │ │ ├── beam │ │ ├── NginxErrorPage.java │ │ └── NginxServer.java │ │ ├── bean │ │ ├── DiskInfo.java │ │ ├── FileItem.java │ │ ├── FileSystemUsage.java │ │ ├── MemoryBean.java │ │ ├── NginxConfig.java │ │ ├── SystemConfig.java │ │ ├── TableDate.java │ │ ├── User.java │ │ ├── nginx │ │ │ ├── NginxConf.java │ │ │ ├── NginxLocation.java │ │ │ ├── NginxProxySetHeader.java │ │ │ ├── NginxUpstream.java │ │ │ └── NginxUpstreamItem.java │ │ └── result │ │ │ └── Result.java │ │ ├── common │ │ ├── CMDUtil.java │ │ ├── CommonFields.java │ │ ├── NginxUtils.java │ │ └── SystemUtils.java │ │ ├── conf │ │ └── Configer.java │ │ ├── controller │ │ ├── AgentController.java │ │ ├── DocController.java │ │ ├── HighManagerController.java │ │ ├── InfoManagerController.java │ │ ├── LIsnerRuleController.java │ │ ├── LisnerController.java │ │ ├── LoginController.java │ │ ├── ManagerController.java │ │ ├── SysController.java │ │ └── UserController.java │ │ ├── core │ │ └── thread │ │ │ ├── SysProcess.java │ │ │ ├── SystemProcessManager.java │ │ │ ├── abst │ │ │ └── ListProcessInterface.java │ │ │ └── en │ │ │ └── ProcessType.java │ │ ├── exception │ │ ├── MyExceptionHandler.java │ │ ├── NginxServiceManagerException.java │ │ └── ValiException.java │ │ ├── interceptor │ │ └── SessionInterceptor.java │ │ ├── manager │ │ └── NginxManager.java │ │ ├── sys │ │ ├── DiskLisner.java │ │ └── MemoryLisner.java │ │ └── utils │ │ ├── PropsUtils.java │ │ └── Vali.java └── resources │ ├── application.yml │ ├── banner.txt │ ├── static │ ├── Test.html │ ├── admin │ │ └── sys │ │ │ └── high │ │ │ └── addon │ │ │ ├── comment │ │ │ ├── comment.js │ │ │ └── continuecomment.js │ │ │ ├── dialog │ │ │ ├── dialog.css │ │ │ └── dialog.js │ │ │ ├── display │ │ │ ├── autorefresh.js │ │ │ ├── fullscreen.css │ │ │ ├── fullscreen.js │ │ │ ├── panel.js │ │ │ ├── placeholder.js │ │ │ └── rulers.js │ │ │ ├── edit │ │ │ ├── closebrackets.js │ │ │ ├── closetag.js │ │ │ ├── continuelist.js │ │ │ ├── matchbrackets.js │ │ │ ├── matchtags.js │ │ │ └── trailingspace.js │ │ │ ├── fold │ │ │ ├── brace-fold.js │ │ │ ├── comment-fold.js │ │ │ ├── foldcode.js │ │ │ ├── foldgutter.css │ │ │ ├── foldgutter.js │ │ │ ├── indent-fold.js │ │ │ ├── markdown-fold.js │ │ │ └── xml-fold.js │ │ │ ├── hint │ │ │ ├── anyword-hint.js │ │ │ ├── css-hint.js │ │ │ ├── html-hint.js │ │ │ ├── javascript-hint.js │ │ │ ├── show-hint.css │ │ │ ├── show-hint.js │ │ │ ├── sql-hint.js │ │ │ └── xml-hint.js │ │ │ ├── lint │ │ │ ├── coffeescript-lint.js │ │ │ ├── css-lint.js │ │ │ ├── html-lint.js │ │ │ ├── javascript-lint.js │ │ │ ├── json-lint.js │ │ │ ├── lint.css │ │ │ ├── lint.js │ │ │ └── yaml-lint.js │ │ │ ├── merge │ │ │ ├── merge.css │ │ │ └── merge.js │ │ │ ├── mode │ │ │ ├── loadmode.js │ │ │ ├── multiplex.js │ │ │ ├── multiplex_test.js │ │ │ ├── overlay.js │ │ │ └── simple.js │ │ │ ├── runmode │ │ │ ├── colorize.js │ │ │ ├── runmode-standalone.js │ │ │ ├── runmode.js │ │ │ └── runmode.node.js │ │ │ ├── scroll │ │ │ ├── annotatescrollbar.js │ │ │ ├── scrollpastend.js │ │ │ ├── simplescrollbars.css │ │ │ └── simplescrollbars.js │ │ │ ├── search │ │ │ ├── jump-to-line.js │ │ │ ├── match-highlighter.js │ │ │ ├── matchesonscrollbar.css │ │ │ ├── matchesonscrollbar.js │ │ │ ├── search.js │ │ │ └── searchcursor.js │ │ │ ├── selection │ │ │ ├── active-line.js │ │ │ ├── mark-selection.js │ │ │ └── selection-pointer.js │ │ │ ├── tern │ │ │ ├── tern.css │ │ │ ├── tern.js │ │ │ └── worker.js │ │ │ └── wrap │ │ │ └── hardwrap.js │ ├── ckeditor │ │ ├── CHANGES.md │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── adapters │ │ │ └── jquery.js │ │ ├── build-config.js │ │ ├── ckeditor.js │ │ ├── config.js │ │ ├── contents.css │ │ ├── lang │ │ │ ├── af.js │ │ │ ├── ar.js │ │ │ ├── az.js │ │ │ ├── bg.js │ │ │ ├── bn.js │ │ │ ├── bs.js │ │ │ ├── ca.js │ │ │ ├── cs.js │ │ │ ├── cy.js │ │ │ ├── da.js │ │ │ ├── de-ch.js │ │ │ ├── de.js │ │ │ ├── el.js │ │ │ ├── en-au.js │ │ │ ├── en-ca.js │ │ │ ├── en-gb.js │ │ │ ├── en.js │ │ │ ├── eo.js │ │ │ ├── es-mx.js │ │ │ ├── es.js │ │ │ ├── et.js │ │ │ ├── eu.js │ │ │ ├── fa.js │ │ │ ├── fi.js │ │ │ ├── fo.js │ │ │ ├── fr-ca.js │ │ │ ├── fr.js │ │ │ ├── gl.js │ │ │ ├── gu.js │ │ │ ├── he.js │ │ │ ├── hi.js │ │ │ ├── hr.js │ │ │ ├── hu.js │ │ │ ├── id.js │ │ │ ├── is.js │ │ │ ├── it.js │ │ │ ├── ja.js │ │ │ ├── ka.js │ │ │ ├── km.js │ │ │ ├── ko.js │ │ │ ├── ku.js │ │ │ ├── lt.js │ │ │ ├── lv.js │ │ │ ├── mk.js │ │ │ ├── mn.js │ │ │ ├── ms.js │ │ │ ├── nb.js │ │ │ ├── nl.js │ │ │ ├── no.js │ │ │ ├── oc.js │ │ │ ├── pl.js │ │ │ ├── pt-br.js │ │ │ ├── pt.js │ │ │ ├── ro.js │ │ │ ├── ru.js │ │ │ ├── si.js │ │ │ ├── sk.js │ │ │ ├── sl.js │ │ │ ├── sq.js │ │ │ ├── sr-latn.js │ │ │ ├── sr.js │ │ │ ├── sv.js │ │ │ ├── th.js │ │ │ ├── tr.js │ │ │ ├── tt.js │ │ │ ├── ug.js │ │ │ ├── uk.js │ │ │ ├── vi.js │ │ │ ├── zh-cn.js │ │ │ └── zh.js │ │ ├── plugins │ │ │ ├── a11yhelp │ │ │ │ └── dialogs │ │ │ │ │ ├── a11yhelp.js │ │ │ │ │ └── lang │ │ │ │ │ ├── _translationstatus.txt │ │ │ │ │ ├── af.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── az.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs.js │ │ │ │ │ ├── cy.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de-ch.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en-au.js │ │ │ │ │ ├── en-gb.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── eo.js │ │ │ │ │ ├── es-mx.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── et.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fo.js │ │ │ │ │ ├── fr-ca.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── gl.js │ │ │ │ │ ├── gu.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hi.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── ku.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── mk.js │ │ │ │ │ ├── mn.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── no.js │ │ │ │ │ ├── oc.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── pt-br.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru.js │ │ │ │ │ ├── si.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sq.js │ │ │ │ │ ├── sr-latn.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tr.js │ │ │ │ │ ├── tt.js │ │ │ │ │ ├── ug.js │ │ │ │ │ ├── uk.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ └── zh.js │ │ │ ├── about │ │ │ │ └── dialogs │ │ │ │ │ ├── about.js │ │ │ │ │ ├── hidpi │ │ │ │ │ └── logo_ckeditor.png │ │ │ │ │ └── logo_ckeditor.png │ │ │ ├── dialog │ │ │ │ └── dialogDefinition.js │ │ │ ├── icons.png │ │ │ ├── icons_hidpi.png │ │ │ ├── image │ │ │ │ ├── dialogs │ │ │ │ │ └── image.js │ │ │ │ └── images │ │ │ │ │ └── noimage.png │ │ │ ├── link │ │ │ │ ├── dialogs │ │ │ │ │ ├── anchor.js │ │ │ │ │ └── link.js │ │ │ │ └── images │ │ │ │ │ ├── anchor.png │ │ │ │ │ └── hidpi │ │ │ │ │ └── anchor.png │ │ │ ├── magicline │ │ │ │ └── images │ │ │ │ │ ├── hidpi │ │ │ │ │ ├── icon-rtl.png │ │ │ │ │ └── icon.png │ │ │ │ │ ├── icon-rtl.png │ │ │ │ │ └── icon.png │ │ │ ├── pastefromword │ │ │ │ └── filter │ │ │ │ │ └── default.js │ │ │ ├── scayt │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.md │ │ │ │ ├── README.md │ │ │ │ ├── dialogs │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── options.js │ │ │ │ │ └── toolbar.css │ │ │ │ └── skins │ │ │ │ │ └── moono-lisa │ │ │ │ │ └── scayt.css │ │ │ ├── specialchar │ │ │ │ └── dialogs │ │ │ │ │ ├── lang │ │ │ │ │ ├── _translationstatus.txt │ │ │ │ │ ├── af.js │ │ │ │ │ ├── ar.js │ │ │ │ │ ├── az.js │ │ │ │ │ ├── bg.js │ │ │ │ │ ├── ca.js │ │ │ │ │ ├── cs.js │ │ │ │ │ ├── cy.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── de-ch.js │ │ │ │ │ ├── de.js │ │ │ │ │ ├── el.js │ │ │ │ │ ├── en-au.js │ │ │ │ │ ├── en-ca.js │ │ │ │ │ ├── en-gb.js │ │ │ │ │ ├── en.js │ │ │ │ │ ├── eo.js │ │ │ │ │ ├── es-mx.js │ │ │ │ │ ├── es.js │ │ │ │ │ ├── et.js │ │ │ │ │ ├── eu.js │ │ │ │ │ ├── fa.js │ │ │ │ │ ├── fi.js │ │ │ │ │ ├── fr-ca.js │ │ │ │ │ ├── fr.js │ │ │ │ │ ├── gl.js │ │ │ │ │ ├── he.js │ │ │ │ │ ├── hr.js │ │ │ │ │ ├── hu.js │ │ │ │ │ ├── id.js │ │ │ │ │ ├── it.js │ │ │ │ │ ├── ja.js │ │ │ │ │ ├── km.js │ │ │ │ │ ├── ko.js │ │ │ │ │ ├── ku.js │ │ │ │ │ ├── lt.js │ │ │ │ │ ├── lv.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── nl.js │ │ │ │ │ ├── no.js │ │ │ │ │ ├── oc.js │ │ │ │ │ ├── pl.js │ │ │ │ │ ├── pt-br.js │ │ │ │ │ ├── pt.js │ │ │ │ │ ├── ro.js │ │ │ │ │ ├── ru.js │ │ │ │ │ ├── si.js │ │ │ │ │ ├── sk.js │ │ │ │ │ ├── sl.js │ │ │ │ │ ├── sq.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── th.js │ │ │ │ │ ├── tr.js │ │ │ │ │ ├── tt.js │ │ │ │ │ ├── ug.js │ │ │ │ │ ├── uk.js │ │ │ │ │ ├── vi.js │ │ │ │ │ ├── zh-cn.js │ │ │ │ │ └── zh.js │ │ │ │ │ └── specialchar.js │ │ │ ├── table │ │ │ │ └── dialogs │ │ │ │ │ └── table.js │ │ │ ├── tableselection │ │ │ │ └── styles │ │ │ │ │ └── tableselection.css │ │ │ ├── tabletools │ │ │ │ └── dialogs │ │ │ │ │ └── tableCell.js │ │ │ ├── widget │ │ │ │ └── images │ │ │ │ │ └── handle.png │ │ │ └── wsc │ │ │ │ ├── LICENSE.md │ │ │ │ ├── README.md │ │ │ │ ├── dialogs │ │ │ │ ├── ciframe.html │ │ │ │ ├── tmpFrameset.html │ │ │ │ ├── wsc.css │ │ │ │ ├── wsc.js │ │ │ │ └── wsc_ie.js │ │ │ │ └── skins │ │ │ │ └── moono-lisa │ │ │ │ └── wsc.css │ │ ├── samples │ │ │ ├── css │ │ │ │ └── samples.css │ │ │ ├── img │ │ │ │ ├── github-top.png │ │ │ │ ├── header-bg.png │ │ │ │ ├── header-separator.png │ │ │ │ ├── logo.png │ │ │ │ └── navigation-tip.png │ │ │ ├── index.html │ │ │ ├── js │ │ │ │ ├── sample.js │ │ │ │ └── sf.js │ │ │ ├── old │ │ │ │ ├── ajax.html │ │ │ │ ├── api.html │ │ │ │ ├── appendto.html │ │ │ │ ├── assets │ │ │ │ │ ├── inlineall │ │ │ │ │ │ └── logo.png │ │ │ │ │ ├── outputxhtml │ │ │ │ │ │ └── outputxhtml.css │ │ │ │ │ ├── posteddata.php │ │ │ │ │ ├── sample.jpg │ │ │ │ │ └── uilanguages │ │ │ │ │ │ └── languages.js │ │ │ │ ├── datafiltering.html │ │ │ │ ├── dialog │ │ │ │ │ ├── assets │ │ │ │ │ │ └── my_dialog.js │ │ │ │ │ └── dialog.html │ │ │ │ ├── divreplace.html │ │ │ │ ├── enterkey │ │ │ │ │ └── enterkey.html │ │ │ │ ├── htmlwriter │ │ │ │ │ ├── assets │ │ │ │ │ │ └── outputforflash │ │ │ │ │ │ │ ├── outputforflash.fla │ │ │ │ │ │ │ ├── outputforflash.swf │ │ │ │ │ │ │ └── swfobject.js │ │ │ │ │ ├── outputforflash.html │ │ │ │ │ └── outputhtml.html │ │ │ │ ├── index.html │ │ │ │ ├── inlineall.html │ │ │ │ ├── inlinebycode.html │ │ │ │ ├── inlinetextarea.html │ │ │ │ ├── jquery.html │ │ │ │ ├── magicline │ │ │ │ │ └── magicline.html │ │ │ │ ├── readonly.html │ │ │ │ ├── replacebyclass.html │ │ │ │ ├── replacebycode.html │ │ │ │ ├── sample.css │ │ │ │ ├── sample.js │ │ │ │ ├── sample_posteddata.php │ │ │ │ ├── tabindex.html │ │ │ │ ├── toolbar │ │ │ │ │ └── toolbar.html │ │ │ │ ├── uicolor.html │ │ │ │ ├── uilanguages.html │ │ │ │ ├── wysiwygarea │ │ │ │ │ └── fullpage.html │ │ │ │ └── xhtmlstyle.html │ │ │ └── toolbarconfigurator │ │ │ │ ├── css │ │ │ │ └── fontello.css │ │ │ │ ├── font │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── config.json │ │ │ │ ├── fontello.eot │ │ │ │ ├── fontello.svg │ │ │ │ ├── fontello.ttf │ │ │ │ └── fontello.woff │ │ │ │ ├── index.html │ │ │ │ ├── js │ │ │ │ ├── abstracttoolbarmodifier.js │ │ │ │ ├── fulltoolbareditor.js │ │ │ │ ├── toolbarmodifier.js │ │ │ │ └── toolbartextmodifier.js │ │ │ │ └── lib │ │ │ │ └── codemirror │ │ │ │ ├── LICENSE │ │ │ │ ├── codemirror.css │ │ │ │ ├── codemirror.js │ │ │ │ ├── javascript.js │ │ │ │ ├── neo.css │ │ │ │ ├── show-hint.css │ │ │ │ └── show-hint.js │ │ ├── skins │ │ │ └── moono-lisa │ │ │ │ ├── dialog.css │ │ │ │ ├── dialog_ie.css │ │ │ │ ├── dialog_ie8.css │ │ │ │ ├── dialog_iequirks.css │ │ │ │ ├── editor.css │ │ │ │ ├── editor_gecko.css │ │ │ │ ├── editor_ie.css │ │ │ │ ├── editor_ie8.css │ │ │ │ ├── editor_iequirks.css │ │ │ │ ├── icons.png │ │ │ │ ├── icons_hidpi.png │ │ │ │ ├── images │ │ │ │ ├── arrow.png │ │ │ │ ├── close.png │ │ │ │ ├── hidpi │ │ │ │ │ ├── close.png │ │ │ │ │ ├── lock-open.png │ │ │ │ │ ├── lock.png │ │ │ │ │ └── refresh.png │ │ │ │ ├── lock-open.png │ │ │ │ ├── lock.png │ │ │ │ ├── refresh.png │ │ │ │ └── spinner.gif │ │ │ │ └── readme.md │ │ └── styles.js │ ├── codemirror │ │ ├── addon │ │ │ ├── comment │ │ │ │ ├── comment.js │ │ │ │ └── continuecomment.js │ │ │ ├── dialog │ │ │ │ ├── dialog.css │ │ │ │ └── dialog.js │ │ │ ├── display │ │ │ │ ├── autorefresh.js │ │ │ │ ├── fullscreen.css │ │ │ │ ├── fullscreen.js │ │ │ │ ├── panel.js │ │ │ │ ├── placeholder.js │ │ │ │ └── rulers.js │ │ │ ├── edit │ │ │ │ ├── closebrackets.js │ │ │ │ ├── closetag.js │ │ │ │ ├── continuelist.js │ │ │ │ ├── matchbrackets.js │ │ │ │ ├── matchtags.js │ │ │ │ └── trailingspace.js │ │ │ ├── fold │ │ │ │ ├── brace-fold.js │ │ │ │ ├── comment-fold.js │ │ │ │ ├── foldcode.js │ │ │ │ ├── foldgutter.css │ │ │ │ ├── foldgutter.js │ │ │ │ ├── indent-fold.js │ │ │ │ ├── markdown-fold.js │ │ │ │ └── xml-fold.js │ │ │ ├── hint │ │ │ │ ├── anyword-hint.js │ │ │ │ ├── css-hint.js │ │ │ │ ├── html-hint.js │ │ │ │ ├── javascript-hint.js │ │ │ │ ├── show-hint.css │ │ │ │ ├── show-hint.js │ │ │ │ ├── sql-hint.js │ │ │ │ └── xml-hint.js │ │ │ ├── lint │ │ │ │ ├── coffeescript-lint.js │ │ │ │ ├── css-lint.js │ │ │ │ ├── html-lint.js │ │ │ │ ├── javascript-lint.js │ │ │ │ ├── json-lint.js │ │ │ │ ├── lint.css │ │ │ │ ├── lint.js │ │ │ │ └── yaml-lint.js │ │ │ ├── merge │ │ │ │ ├── merge.css │ │ │ │ └── merge.js │ │ │ ├── mode │ │ │ │ ├── loadmode.js │ │ │ │ ├── multiplex.js │ │ │ │ ├── multiplex_test.js │ │ │ │ ├── overlay.js │ │ │ │ └── simple.js │ │ │ ├── runmode │ │ │ │ ├── colorize.js │ │ │ │ ├── runmode-standalone.js │ │ │ │ ├── runmode.js │ │ │ │ └── runmode.node.js │ │ │ ├── scroll │ │ │ │ ├── annotatescrollbar.js │ │ │ │ ├── scrollpastend.js │ │ │ │ ├── simplescrollbars.css │ │ │ │ └── simplescrollbars.js │ │ │ ├── search │ │ │ │ ├── jump-to-line.js │ │ │ │ ├── match-highlighter.js │ │ │ │ ├── matchesonscrollbar.css │ │ │ │ ├── matchesonscrollbar.js │ │ │ │ ├── search.js │ │ │ │ └── searchcursor.js │ │ │ ├── selection │ │ │ │ ├── active-line.js │ │ │ │ ├── mark-selection.js │ │ │ │ └── selection-pointer.js │ │ │ ├── tern │ │ │ │ ├── tern.css │ │ │ │ ├── tern.js │ │ │ │ └── worker.js │ │ │ └── wrap │ │ │ │ └── hardwrap.js │ │ ├── bin │ │ │ ├── authors.sh │ │ │ ├── lint │ │ │ ├── release │ │ │ ├── source-highlight │ │ │ └── upload-release.js │ │ ├── demo │ │ │ ├── activeline.html │ │ │ ├── anywordhint.html │ │ │ ├── bidi.html │ │ │ ├── btree.html │ │ │ ├── buffers.html │ │ │ ├── changemode.html │ │ │ ├── closebrackets.html │ │ │ ├── closetag.html │ │ │ ├── complete.html │ │ │ ├── emacs.html │ │ │ ├── folding.html │ │ │ ├── fullscreen.html │ │ │ ├── hardwrap.html │ │ │ ├── html5complete.html │ │ │ ├── indentwrap.html │ │ │ ├── lint.html │ │ │ ├── loadmode.html │ │ │ ├── marker.html │ │ │ ├── markselection.html │ │ │ ├── matchhighlighter.html │ │ │ ├── matchtags.html │ │ │ ├── merge.html │ │ │ ├── multiplex.html │ │ │ ├── mustache.html │ │ │ ├── panel.html │ │ │ ├── placeholder.html │ │ │ ├── preview.html │ │ │ ├── requirejs.html │ │ │ ├── resize.html │ │ │ ├── rulers.html │ │ │ ├── runmode.html │ │ │ ├── search.html │ │ │ ├── simplemode.html │ │ │ ├── simplescrollbars.html │ │ │ ├── spanaffectswrapping_shim.html │ │ │ ├── sublime.html │ │ │ ├── tern.html │ │ │ ├── theme.html │ │ │ ├── trailingspace.html │ │ │ ├── variableheight.html │ │ │ ├── vim.html │ │ │ ├── visibletabs.html │ │ │ ├── widget.html │ │ │ └── xmlcomplete.html │ │ ├── doc │ │ │ ├── activebookmark.js │ │ │ ├── docs.css │ │ │ ├── internals.html │ │ │ ├── logo.png │ │ │ ├── logo.svg │ │ │ ├── manual.html │ │ │ ├── realworld.html │ │ │ ├── releases.html │ │ │ ├── reporting.html │ │ │ ├── upgrade_v2.2.html │ │ │ ├── upgrade_v3.html │ │ │ ├── upgrade_v4.html │ │ │ └── yinyang.png │ │ ├── keymap │ │ │ ├── emacs.js │ │ │ ├── sublime.js │ │ │ └── vim.js │ │ ├── lib │ │ │ ├── codemirror.css │ │ │ └── codemirror.js │ │ ├── mode │ │ │ ├── apl │ │ │ │ ├── apl.js │ │ │ │ └── index.html │ │ │ ├── asciiarmor │ │ │ │ ├── asciiarmor.js │ │ │ │ └── index.html │ │ │ ├── asn.1 │ │ │ │ ├── asn.1.js │ │ │ │ └── index.html │ │ │ ├── asterisk │ │ │ │ ├── asterisk.js │ │ │ │ └── index.html │ │ │ ├── brainfuck │ │ │ │ ├── brainfuck.js │ │ │ │ └── index.html │ │ │ ├── clike │ │ │ │ ├── clike.js │ │ │ │ ├── index.html │ │ │ │ ├── scala.html │ │ │ │ └── test.js │ │ │ ├── clojure │ │ │ │ ├── clojure.js │ │ │ │ ├── index.html │ │ │ │ └── test.js │ │ │ ├── cmake │ │ │ │ ├── cmake.js │ │ │ │ └── index.html │ │ │ ├── cobol │ │ │ │ ├── cobol.js │ │ │ │ └── index.html │ │ │ ├── coffeescript │ │ │ │ ├── coffeescript.js │ │ │ │ └── index.html │ │ │ ├── commonlisp │ │ │ │ ├── commonlisp.js │ │ │ │ └── index.html │ │ │ ├── crystal │ │ │ │ ├── crystal.js │ │ │ │ └── index.html │ │ │ ├── css │ │ │ │ ├── css.js │ │ │ │ ├── gss.html │ │ │ │ ├── gss_test.js │ │ │ │ ├── index.html │ │ │ │ ├── less.html │ │ │ │ ├── less_test.js │ │ │ │ ├── scss.html │ │ │ │ ├── scss_test.js │ │ │ │ └── test.js │ │ │ ├── cypher │ │ │ │ ├── cypher.js │ │ │ │ ├── index.html │ │ │ │ └── test.js │ │ │ ├── d │ │ │ │ ├── d.js │ │ │ │ ├── index.html │ │ │ │ └── test.js │ │ │ ├── dart │ │ │ │ ├── dart.js │ │ │ │ └── index.html │ │ │ ├── diff │ │ │ │ ├── diff.js │ │ │ │ └── index.html │ │ │ ├── django │ │ │ │ ├── django.js │ │ │ │ └── index.html │ │ │ ├── dockerfile │ │ │ │ ├── dockerfile.js │ │ │ │ ├── index.html │ │ │ │ └── test.js │ │ │ ├── dtd │ │ │ │ ├── dtd.js │ │ │ │ └── index.html │ │ │ ├── dylan │ │ │ │ ├── dylan.js │ │ │ │ ├── index.html │ │ │ │ └── test.js │ │ │ ├── ebnf │ │ │ │ ├── ebnf.js │ │ │ │ └── index.html │ │ │ ├── ecl │ │ │ │ ├── ecl.js │ │ │ │ └── index.html │ │ │ ├── eiffel │ │ │ │ ├── eiffel.js │ │ │ │ └── index.html │ │ │ ├── elm │ │ │ │ ├── elm.js │ │ │ │ └── index.html │ │ │ ├── erlang │ │ │ │ ├── erlang.js │ │ │ │ └── index.html │ │ │ ├── factor │ │ │ │ ├── factor.js │ │ │ │ └── index.html │ │ │ ├── fcl │ │ │ │ ├── fcl.js │ │ │ │ └── index.html │ │ │ ├── forth │ │ │ │ ├── forth.js │ │ │ │ └── index.html │ │ │ ├── fortran │ │ │ │ ├── fortran.js │ │ │ │ └── index.html │ │ │ ├── gas │ │ │ │ ├── gas.js │ │ │ │ └── index.html │ │ │ ├── gfm │ │ │ │ ├── gfm.js │ │ │ │ ├── index.html │ │ │ │ └── test.js │ │ │ ├── gherkin │ │ │ │ ├── gherkin.js │ │ │ │ └── index.html │ │ │ ├── go │ │ │ │ ├── go.js │ │ │ │ └── index.html │ │ │ ├── groovy │ │ │ │ ├── groovy.js │ │ │ │ └── index.html │ │ │ ├── haml │ │ │ │ ├── haml.js │ │ │ │ ├── index.html │ │ │ │ └── test.js │ │ │ ├── handlebars │ │ │ │ ├── handlebars.js │ │ │ │ └── index.html │ │ │ ├── haskell-literate │ │ │ │ ├── haskell-literate.js │ │ │ │ └── index.html │ │ │ ├── haskell │ │ │ │ ├── haskell.js │ │ │ │ └── index.html │ │ │ ├── haxe │ │ │ │ ├── haxe.js │ │ │ │ └── index.html │ │ │ ├── htmlembedded │ │ │ │ ├── htmlembedded.js │ │ │ │ └── index.html │ │ │ ├── htmlmixed │ │ │ │ ├── htmlmixed.js │ │ │ │ └── index.html │ │ │ ├── http │ │ │ │ ├── http.js │ │ │ │ └── index.html │ │ │ ├── idl │ │ │ │ ├── idl.js │ │ │ │ └── index.html │ │ │ ├── index.html │ │ │ ├── javascript │ │ │ │ ├── index.html │ │ │ │ ├── javascript.js │ │ │ │ ├── json-ld.html │ │ │ │ ├── test.js │ │ │ │ └── typescript.html │ │ │ ├── jinja2 │ │ │ │ ├── index.html │ │ │ │ └── jinja2.js │ │ │ ├── jsx │ │ │ │ ├── index.html │ │ │ │ ├── jsx.js │ │ │ │ └── test.js │ │ │ ├── julia │ │ │ │ ├── index.html │ │ │ │ └── julia.js │ │ │ ├── livescript │ │ │ │ ├── index.html │ │ │ │ └── livescript.js │ │ │ ├── lua │ │ │ │ ├── index.html │ │ │ │ └── lua.js │ │ │ ├── markdown │ │ │ │ ├── index.html │ │ │ │ ├── markdown.js │ │ │ │ └── test.js │ │ │ ├── mathematica │ │ │ │ ├── index.html │ │ │ │ └── mathematica.js │ │ │ ├── mbox │ │ │ │ ├── index.html │ │ │ │ └── mbox.js │ │ │ ├── meta.js │ │ │ ├── mirc │ │ │ │ ├── index.html │ │ │ │ └── mirc.js │ │ │ ├── mllike │ │ │ │ ├── index.html │ │ │ │ └── mllike.js │ │ │ ├── modelica │ │ │ │ ├── index.html │ │ │ │ └── modelica.js │ │ │ ├── mscgen │ │ │ │ ├── index.html │ │ │ │ ├── mscgen.js │ │ │ │ ├── mscgen_test.js │ │ │ │ ├── msgenny_test.js │ │ │ │ └── xu_test.js │ │ │ ├── mumps │ │ │ │ ├── index.html │ │ │ │ └── mumps.js │ │ │ ├── nginx │ │ │ │ ├── index.html │ │ │ │ └── nginx.js │ │ │ ├── nsis │ │ │ │ ├── index.html │ │ │ │ └── nsis.js │ │ │ ├── ntriples │ │ │ │ ├── index.html │ │ │ │ └── ntriples.js │ │ │ ├── octave │ │ │ │ ├── index.html │ │ │ │ └── octave.js │ │ │ ├── oz │ │ │ │ ├── index.html │ │ │ │ └── oz.js │ │ │ ├── pascal │ │ │ │ ├── index.html │ │ │ │ └── pascal.js │ │ │ ├── pegjs │ │ │ │ ├── index.html │ │ │ │ └── pegjs.js │ │ │ ├── perl │ │ │ │ ├── index.html │ │ │ │ └── perl.js │ │ │ ├── php │ │ │ │ ├── index.html │ │ │ │ ├── php.js │ │ │ │ └── test.js │ │ │ ├── pig │ │ │ │ ├── index.html │ │ │ │ └── pig.js │ │ │ ├── powershell │ │ │ │ ├── index.html │ │ │ │ ├── powershell.js │ │ │ │ └── test.js │ │ │ ├── properties │ │ │ │ ├── index.html │ │ │ │ └── properties.js │ │ │ ├── protobuf │ │ │ │ ├── index.html │ │ │ │ └── protobuf.js │ │ │ ├── pug │ │ │ │ ├── index.html │ │ │ │ └── pug.js │ │ │ ├── puppet │ │ │ │ ├── index.html │ │ │ │ └── puppet.js │ │ │ ├── python │ │ │ │ ├── index.html │ │ │ │ ├── python.js │ │ │ │ └── test.js │ │ │ ├── q │ │ │ │ ├── index.html │ │ │ │ └── q.js │ │ │ ├── r │ │ │ │ ├── index.html │ │ │ │ └── r.js │ │ │ ├── rpm │ │ │ │ ├── changes │ │ │ │ │ └── index.html │ │ │ │ ├── index.html │ │ │ │ └── rpm.js │ │ │ ├── rst │ │ │ │ ├── index.html │ │ │ │ └── rst.js │ │ │ ├── ruby │ │ │ │ ├── index.html │ │ │ │ ├── ruby.js │ │ │ │ └── test.js │ │ │ ├── rust │ │ │ │ ├── index.html │ │ │ │ ├── rust.js │ │ │ │ └── test.js │ │ │ ├── sas │ │ │ │ ├── index.html │ │ │ │ └── sas.js │ │ │ ├── sass │ │ │ │ ├── index.html │ │ │ │ ├── sass.js │ │ │ │ └── test.js │ │ │ ├── scheme │ │ │ │ ├── index.html │ │ │ │ └── scheme.js │ │ │ ├── shell │ │ │ │ ├── index.html │ │ │ │ ├── shell.js │ │ │ │ └── test.js │ │ │ ├── sieve │ │ │ │ ├── index.html │ │ │ │ └── sieve.js │ │ │ ├── slim │ │ │ │ ├── index.html │ │ │ │ ├── slim.js │ │ │ │ └── test.js │ │ │ ├── smalltalk │ │ │ │ ├── index.html │ │ │ │ └── smalltalk.js │ │ │ ├── smarty │ │ │ │ ├── index.html │ │ │ │ └── smarty.js │ │ │ ├── solr │ │ │ │ ├── index.html │ │ │ │ └── solr.js │ │ │ ├── soy │ │ │ │ ├── index.html │ │ │ │ ├── soy.js │ │ │ │ └── test.js │ │ │ ├── sparql │ │ │ │ ├── index.html │ │ │ │ └── sparql.js │ │ │ ├── spreadsheet │ │ │ │ ├── index.html │ │ │ │ └── spreadsheet.js │ │ │ ├── sql │ │ │ │ ├── index.html │ │ │ │ └── sql.js │ │ │ ├── stex │ │ │ │ ├── index.html │ │ │ │ ├── stex.js │ │ │ │ └── test.js │ │ │ ├── stylus │ │ │ │ ├── index.html │ │ │ │ └── stylus.js │ │ │ ├── swift │ │ │ │ ├── index.html │ │ │ │ ├── swift.js │ │ │ │ └── test.js │ │ │ ├── tcl │ │ │ │ ├── index.html │ │ │ │ └── tcl.js │ │ │ ├── textile │ │ │ │ ├── index.html │ │ │ │ ├── test.js │ │ │ │ └── textile.js │ │ │ ├── tiddlywiki │ │ │ │ ├── index.html │ │ │ │ ├── tiddlywiki.css │ │ │ │ └── tiddlywiki.js │ │ │ ├── tiki │ │ │ │ ├── index.html │ │ │ │ ├── tiki.css │ │ │ │ └── tiki.js │ │ │ ├── toml │ │ │ │ ├── index.html │ │ │ │ └── toml.js │ │ │ ├── tornado │ │ │ │ ├── index.html │ │ │ │ └── tornado.js │ │ │ ├── troff │ │ │ │ ├── index.html │ │ │ │ └── troff.js │ │ │ ├── ttcn-cfg │ │ │ │ ├── index.html │ │ │ │ └── ttcn-cfg.js │ │ │ ├── ttcn │ │ │ │ ├── index.html │ │ │ │ └── ttcn.js │ │ │ ├── turtle │ │ │ │ ├── index.html │ │ │ │ └── turtle.js │ │ │ ├── twig │ │ │ │ ├── index.html │ │ │ │ └── twig.js │ │ │ ├── vb │ │ │ │ ├── index.html │ │ │ │ └── vb.js │ │ │ ├── vbscript │ │ │ │ ├── index.html │ │ │ │ └── vbscript.js │ │ │ ├── velocity │ │ │ │ ├── index.html │ │ │ │ └── velocity.js │ │ │ ├── verilog │ │ │ │ ├── index.html │ │ │ │ ├── test.js │ │ │ │ └── verilog.js │ │ │ ├── vhdl │ │ │ │ ├── index.html │ │ │ │ └── vhdl.js │ │ │ ├── vue │ │ │ │ ├── index.html │ │ │ │ └── vue.js │ │ │ ├── webidl │ │ │ │ ├── index.html │ │ │ │ └── webidl.js │ │ │ ├── xml │ │ │ │ ├── index.html │ │ │ │ ├── test.js │ │ │ │ └── xml.js │ │ │ ├── xquery │ │ │ │ ├── index.html │ │ │ │ ├── test.js │ │ │ │ └── xquery.js │ │ │ ├── yacas │ │ │ │ ├── index.html │ │ │ │ └── yacas.js │ │ │ ├── yaml-frontmatter │ │ │ │ ├── index.html │ │ │ │ └── yaml-frontmatter.js │ │ │ ├── yaml │ │ │ │ ├── index.html │ │ │ │ └── yaml.js │ │ │ └── z80 │ │ │ │ ├── index.html │ │ │ │ └── z80.js │ │ └── theme │ │ │ ├── 3024-day.css │ │ │ ├── 3024-night.css │ │ │ ├── abcdef.css │ │ │ ├── ambiance-mobile.css │ │ │ ├── ambiance.css │ │ │ ├── base16-dark.css │ │ │ ├── base16-light.css │ │ │ ├── bespin.css │ │ │ ├── blackboard.css │ │ │ ├── cobalt.css │ │ │ ├── colorforth.css │ │ │ ├── darcula.css │ │ │ ├── dracula.css │ │ │ ├── duotone-dark.css │ │ │ ├── duotone-light.css │ │ │ ├── eclipse.css │ │ │ ├── elegant.css │ │ │ ├── erlang-dark.css │ │ │ ├── gruvbox-dark.css │ │ │ ├── hopscotch.css │ │ │ ├── icecoder.css │ │ │ ├── idea.css │ │ │ ├── isotope.css │ │ │ ├── lesser-dark.css │ │ │ ├── liquibyte.css │ │ │ ├── lucario.css │ │ │ ├── material.css │ │ │ ├── mbo.css │ │ │ ├── mdn-like.css │ │ │ ├── midnight.css │ │ │ ├── monokai.css │ │ │ ├── neat.css │ │ │ ├── neo.css │ │ │ ├── night.css │ │ │ ├── oceanic-next.css │ │ │ ├── panda-syntax.css │ │ │ ├── paraiso-dark.css │ │ │ ├── paraiso-light.css │ │ │ ├── pastel-on-dark.css │ │ │ ├── railscasts.css │ │ │ ├── rubyblue.css │ │ │ ├── seti.css │ │ │ ├── shadowfox.css │ │ │ ├── solarized.css │ │ │ ├── ssms.css │ │ │ ├── the-matrix.css │ │ │ ├── tomorrow-night-bright.css │ │ │ ├── tomorrow-night-eighties.css │ │ │ ├── ttcn.css │ │ │ ├── twilight.css │ │ │ ├── vibrant-ink.css │ │ │ ├── xq-dark.css │ │ │ ├── xq-light.css │ │ │ ├── yeti.css │ │ │ └── zenburn.css │ ├── css │ │ ├── animate.css │ │ ├── font.css │ │ ├── main.css │ │ └── xadmin.css │ ├── favicon.png │ ├── fonts │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ └── iconfont.woff │ ├── images │ │ ├── aiwrap.png │ │ └── bg.png │ ├── js │ │ ├── ajax │ │ │ └── core.js │ │ ├── layerAjaxMsg │ │ │ └── default.js │ │ ├── main.js │ │ └── xadmin.js │ └── lib │ │ ├── echarts │ │ ├── echarts.min.js │ │ ├── echarts.simple.min.js │ │ └── macarons.js │ │ ├── font-awesome │ │ ├── HELP-US-OUT.txt │ │ ├── css │ │ │ ├── font-awesome.css │ │ │ └── font-awesome.min.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ │ ├── less │ │ │ ├── animated.less │ │ │ ├── bordered-pulled.less │ │ │ ├── core.less │ │ │ ├── fixed-width.less │ │ │ ├── font-awesome.less │ │ │ ├── icons.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── mixins.less │ │ │ ├── path.less │ │ │ ├── rotated-flipped.less │ │ │ ├── screen-reader.less │ │ │ ├── stacked.less │ │ │ └── variables.less │ │ └── scss │ │ │ ├── _animated.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _screen-reader.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ │ ├── htab │ │ ├── css │ │ │ └── default.css │ │ └── js │ │ │ └── core.js │ │ ├── htable │ │ ├── common.css │ │ └── jquery.aiyi.tools.table.js │ │ ├── layer-v3.1.1 │ │ ├── layer │ │ │ ├── layer.js │ │ │ ├── mobile │ │ │ │ ├── layer.js │ │ │ │ └── need │ │ │ │ │ └── layer.css │ │ │ └── theme │ │ │ │ └── default │ │ │ │ ├── icon-ext.png │ │ │ │ ├── icon.png │ │ │ │ ├── layer.css │ │ │ │ ├── loading-0.gif │ │ │ │ ├── loading-1.gif │ │ │ │ └── loading-2.gif │ │ ├── test.html │ │ ├── 文档 │ │ │ ├── jquery下载.url │ │ │ ├── layer官网.url │ │ │ ├── layer文档.url │ │ │ ├── layui社区.url │ │ │ └── 获得layim.url │ │ └── 更新日志.txt │ │ └── layui │ │ ├── css │ │ ├── layui.css │ │ ├── layui.mobile.css │ │ └── modules │ │ │ ├── code.css │ │ │ ├── laydate │ │ │ └── default │ │ │ │ └── laydate.css │ │ │ └── layer │ │ │ └── default │ │ │ ├── icon-ext.png │ │ │ ├── icon.png │ │ │ ├── layer.css │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ │ ├── font │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ └── iconfont.woff │ │ ├── images │ │ └── face │ │ │ ├── 0.gif │ │ │ ├── 1.gif │ │ │ ├── 10.gif │ │ │ ├── 11.gif │ │ │ ├── 12.gif │ │ │ ├── 13.gif │ │ │ ├── 14.gif │ │ │ ├── 15.gif │ │ │ ├── 16.gif │ │ │ ├── 17.gif │ │ │ ├── 18.gif │ │ │ ├── 19.gif │ │ │ ├── 2.gif │ │ │ ├── 20.gif │ │ │ ├── 21.gif │ │ │ ├── 22.gif │ │ │ ├── 23.gif │ │ │ ├── 24.gif │ │ │ ├── 25.gif │ │ │ ├── 26.gif │ │ │ ├── 27.gif │ │ │ ├── 28.gif │ │ │ ├── 29.gif │ │ │ ├── 3.gif │ │ │ ├── 30.gif │ │ │ ├── 31.gif │ │ │ ├── 32.gif │ │ │ ├── 33.gif │ │ │ ├── 34.gif │ │ │ ├── 35.gif │ │ │ ├── 36.gif │ │ │ ├── 37.gif │ │ │ ├── 38.gif │ │ │ ├── 39.gif │ │ │ ├── 4.gif │ │ │ ├── 40.gif │ │ │ ├── 41.gif │ │ │ ├── 42.gif │ │ │ ├── 43.gif │ │ │ ├── 44.gif │ │ │ ├── 45.gif │ │ │ ├── 46.gif │ │ │ ├── 47.gif │ │ │ ├── 48.gif │ │ │ ├── 49.gif │ │ │ ├── 5.gif │ │ │ ├── 50.gif │ │ │ ├── 51.gif │ │ │ ├── 52.gif │ │ │ ├── 53.gif │ │ │ ├── 54.gif │ │ │ ├── 55.gif │ │ │ ├── 56.gif │ │ │ ├── 57.gif │ │ │ ├── 58.gif │ │ │ ├── 59.gif │ │ │ ├── 6.gif │ │ │ ├── 60.gif │ │ │ ├── 61.gif │ │ │ ├── 62.gif │ │ │ ├── 63.gif │ │ │ ├── 64.gif │ │ │ ├── 65.gif │ │ │ ├── 66.gif │ │ │ ├── 67.gif │ │ │ ├── 68.gif │ │ │ ├── 69.gif │ │ │ ├── 7.gif │ │ │ ├── 70.gif │ │ │ ├── 71.gif │ │ │ ├── 8.gif │ │ │ └── 9.gif │ │ ├── lay │ │ └── modules │ │ │ ├── carousel.js │ │ │ ├── code.js │ │ │ ├── element.js │ │ │ ├── flow.js │ │ │ ├── form.js │ │ │ ├── jquery.js │ │ │ ├── laydate.js │ │ │ ├── layedit.js │ │ │ ├── layer.js │ │ │ ├── laypage.js │ │ │ ├── laytpl.js │ │ │ ├── mobile.js │ │ │ ├── table.js │ │ │ ├── tree.js │ │ │ ├── upload.js │ │ │ └── util.js │ │ ├── layui.all.js │ │ └── layui.js │ └── templates │ ├── X-admin │ ├── README.md │ ├── admin-add.html │ ├── admin-cate.html │ ├── admin-edit.html │ ├── admin-list.html │ ├── admin-role.html │ ├── admin-rule.html │ ├── css │ │ ├── font.css │ │ └── xadmin.css │ ├── echarts1.html │ ├── echarts2.html │ ├── echarts3.html │ ├── echarts4.html │ ├── echarts5.html │ ├── echarts6.html │ ├── echarts7.html │ ├── echarts8.html │ ├── fonts │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ └── iconfont.woff │ ├── images │ │ ├── aiwrap.png │ │ └── bg.png │ ├── index.html │ ├── js │ │ └── xadmin.js │ ├── lib │ │ └── layui │ │ │ ├── css │ │ │ ├── layui.css │ │ │ ├── layui.mobile.css │ │ │ └── modules │ │ │ │ ├── code.css │ │ │ │ ├── laydate │ │ │ │ └── default │ │ │ │ │ └── laydate.css │ │ │ │ └── layer │ │ │ │ └── default │ │ │ │ ├── icon-ext.png │ │ │ │ ├── icon.png │ │ │ │ ├── layer.css │ │ │ │ ├── loading-0.gif │ │ │ │ ├── loading-1.gif │ │ │ │ └── loading-2.gif │ │ │ ├── font │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.svg │ │ │ ├── iconfont.ttf │ │ │ └── iconfont.woff │ │ │ ├── images │ │ │ └── face │ │ │ │ ├── 0.gif │ │ │ │ ├── 1.gif │ │ │ │ ├── 10.gif │ │ │ │ ├── 11.gif │ │ │ │ ├── 12.gif │ │ │ │ ├── 13.gif │ │ │ │ ├── 14.gif │ │ │ │ ├── 15.gif │ │ │ │ ├── 16.gif │ │ │ │ ├── 17.gif │ │ │ │ ├── 18.gif │ │ │ │ ├── 19.gif │ │ │ │ ├── 2.gif │ │ │ │ ├── 20.gif │ │ │ │ ├── 21.gif │ │ │ │ ├── 22.gif │ │ │ │ ├── 23.gif │ │ │ │ ├── 24.gif │ │ │ │ ├── 25.gif │ │ │ │ ├── 26.gif │ │ │ │ ├── 27.gif │ │ │ │ ├── 28.gif │ │ │ │ ├── 29.gif │ │ │ │ ├── 3.gif │ │ │ │ ├── 30.gif │ │ │ │ ├── 31.gif │ │ │ │ ├── 32.gif │ │ │ │ ├── 33.gif │ │ │ │ ├── 34.gif │ │ │ │ ├── 35.gif │ │ │ │ ├── 36.gif │ │ │ │ ├── 37.gif │ │ │ │ ├── 38.gif │ │ │ │ ├── 39.gif │ │ │ │ ├── 4.gif │ │ │ │ ├── 40.gif │ │ │ │ ├── 41.gif │ │ │ │ ├── 42.gif │ │ │ │ ├── 43.gif │ │ │ │ ├── 44.gif │ │ │ │ ├── 45.gif │ │ │ │ ├── 46.gif │ │ │ │ ├── 47.gif │ │ │ │ ├── 48.gif │ │ │ │ ├── 49.gif │ │ │ │ ├── 5.gif │ │ │ │ ├── 50.gif │ │ │ │ ├── 51.gif │ │ │ │ ├── 52.gif │ │ │ │ ├── 53.gif │ │ │ │ ├── 54.gif │ │ │ │ ├── 55.gif │ │ │ │ ├── 56.gif │ │ │ │ ├── 57.gif │ │ │ │ ├── 58.gif │ │ │ │ ├── 59.gif │ │ │ │ ├── 6.gif │ │ │ │ ├── 60.gif │ │ │ │ ├── 61.gif │ │ │ │ ├── 62.gif │ │ │ │ ├── 63.gif │ │ │ │ ├── 64.gif │ │ │ │ ├── 65.gif │ │ │ │ ├── 66.gif │ │ │ │ ├── 67.gif │ │ │ │ ├── 68.gif │ │ │ │ ├── 69.gif │ │ │ │ ├── 7.gif │ │ │ │ ├── 70.gif │ │ │ │ ├── 71.gif │ │ │ │ ├── 8.gif │ │ │ │ └── 9.gif │ │ │ ├── lay │ │ │ └── modules │ │ │ │ ├── carousel.js │ │ │ │ ├── code.js │ │ │ │ ├── element.js │ │ │ │ ├── flow.js │ │ │ │ ├── form.js │ │ │ │ ├── jquery.js │ │ │ │ ├── laydate.js │ │ │ │ ├── layedit.js │ │ │ │ ├── layer.js │ │ │ │ ├── laypage.js │ │ │ │ ├── laytpl.js │ │ │ │ ├── mobile.js │ │ │ │ ├── table.js │ │ │ │ ├── tree.js │ │ │ │ ├── upload.js │ │ │ │ └── util.js │ │ │ ├── layui.all.js │ │ │ └── layui.js │ ├── login.html │ ├── member-add.html │ ├── member-del.html │ ├── member-edit.html │ ├── member-list.html │ ├── member-password.html │ ├── order-add.html │ ├── order-list.html │ ├── role-add.html │ ├── user.json │ └── welcome.html │ ├── admin │ ├── agent │ │ └── back │ │ │ ├── edit.html │ │ │ └── index.html │ ├── doc │ │ └── index.html │ ├── high │ │ └── index.html │ ├── index.bak.html │ ├── index.html │ ├── info │ │ └── index.html │ ├── lisner │ │ ├── list │ │ │ ├── edit.html │ │ │ └── index.html │ │ └── rule │ │ │ ├── edit.html │ │ │ └── index.html │ ├── sys │ │ └── status │ │ │ ├── index.bak.txt │ │ │ └── index.html │ └── user │ │ └── repwd.html │ ├── login.html │ └── main.html └── test └── java └── com └── aiyi └── server └── manager └── nginx └── NginxManagerApplicationTests.java /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | *.class 3 | hs_err_pid* 4 | /.settings/ 5 | .settings 6 | .classpath 7 | .project 8 | 9 | # Mobile Tools for Java (J2ME) 10 | .mtj.tmp/ 11 | 12 | 13 | .idea/ 14 | *.iml 15 | logs/ 16 | -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.2/apache-maven-3.5.2-bin.zip 2 | -------------------------------------------------------------------------------- /conf.properties: -------------------------------------------------------------------------------- 1 | nginx.path = /usr/local/Cellar/nginx/1.15.12 2 | nginx.config = /Users/gsk/dev/apps/nginx-1.15.12/conf/nginx.conf 3 | #nginx.config = /Users/gsk/dev/apps/nginx-1.15.12/co空格 nf/nginx.conf 4 | account.admin = admin -------------------------------------------------------------------------------- /doc/conf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/doc/conf.png -------------------------------------------------------------------------------- /doc/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/doc/home.png -------------------------------------------------------------------------------- /doc/lisner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/doc/lisner.png -------------------------------------------------------------------------------- /doc/location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/doc/location.png -------------------------------------------------------------------------------- /doc/login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/doc/login.png -------------------------------------------------------------------------------- /doc/upstream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/doc/upstream.png -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/NginxManagerApplication.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx; 2 | 3 | import com.aiyi.server.manager.nginx.utils.PropsUtils; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | @SpringBootApplication 8 | public class NginxManagerApplication { 9 | 10 | public static void main(String[] args) { 11 | PropsUtils.setSysPropByArgs(args); 12 | SpringApplication.run(NginxManagerApplication.class, args); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/annotation/NoHandlerLogger.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * @Auther: 郭胜凯 7 | * @Date: 2019-04-25 09:46 8 | * @Email 719348277@qq.com 9 | * @Description: 不进行自动日志监控注解 10 | */ 11 | @Target({ElementType.TYPE, ElementType.METHOD}) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Documented 14 | public @interface NoHandlerLogger { 15 | } -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/applicationconf/SessionLoginConf.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.applicationconf; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.web.servlet.config.annotation.InterceptorRegistry; 5 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 6 | 7 | import com.aiyi.server.manager.nginx.interceptor.SessionInterceptor; 8 | 9 | /** 10 | * Session控制 11 | * 12 | * @Project : nginx 13 | * @Program Name : com.aiyi.server.manager.nginx.applicationconf.SessionLoginConf 14 | * @Description : 15 | * @Author : 郭胜凯 16 | * @Creation Date : 2018年2月2日 上午11:25:51 17 | * @ModificationHistory Who When What ---------- ------------- ----------------------------------- 18 | * 郭胜凯 2018年2月2日 create 19 | */ 20 | @Configuration 21 | public class SessionLoginConf implements WebMvcConfigurer { 22 | 23 | @Override 24 | public void addInterceptors(InterceptorRegistry registry) { 25 | registry.addInterceptor(new SessionInterceptor()).addPathPatterns("/**"); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/beam/NginxErrorPage.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.beam; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | /** 7 | * 统一错误页面配置 8 | * @Project : nginx-gui 9 | * @Program Name : com.aiyi.server.manager.nginx.beam.NginxErrorPage.java 10 | * @Description : 11 | * @Author : 郭胜凯 12 | * @Creation Date : 2018年2月27日 下午4:56:53 13 | * @ModificationHistory Who When What ---------- ------------- ----------------------------------- 14 | * 郭胜凯 2018年2月27日 create 15 | */ 16 | public class NginxErrorPage { 17 | 18 | /** 19 | * 页面状态码 20 | */ 21 | private List status = new ArrayList<>(); 22 | 23 | /** 24 | * 跳转页面 25 | */ 26 | private String path; 27 | 28 | public List getStatus() { 29 | return status; 30 | } 31 | 32 | public void setStatus(List status) { 33 | this.status = status; 34 | } 35 | 36 | public String getPath() { 37 | return path; 38 | } 39 | 40 | public void setPath(String path) { 41 | this.path = path; 42 | } 43 | 44 | @Override 45 | public String toString() { 46 | // TODO Auto-generated method stub 47 | return "NginxErrorPage [status = " + status.toString() + ", path = " + path + "]"; 48 | } 49 | 50 | public String getStatusStr(){ 51 | String str = ""; 52 | for (String s: 53 | status) { 54 | str += s + ","; 55 | } 56 | return str.substring(0, str.length() - 1); 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/bean/DiskInfo.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.bean; 2 | 3 | /** 4 | * 磁盘信息 5 | * @Project : nginx 6 | * @Program Name : com.aiyi.server.manager.nginx.bean.DiskInfo 7 | * @Description : 8 | * @Author : 郭胜凯 9 | * @Creation Date : 2018年2月7日 下午1:07:50 10 | * @ModificationHistory Who When What ---------- ------------- ----------------------------------- 11 | * 郭胜凯 2018年2月7日 create 12 | */ 13 | public class DiskInfo { 14 | 15 | private String devName; 16 | 17 | private FileSystemUsage usage; 18 | 19 | private String type; 20 | 21 | private String name; 22 | 23 | public String getType() { 24 | return type; 25 | } 26 | 27 | public void setType(String type) { 28 | this.type = type; 29 | } 30 | 31 | public String getDevName() { 32 | return devName; 33 | } 34 | 35 | public void setDevName(String devName) { 36 | this.devName = devName; 37 | } 38 | 39 | public FileSystemUsage getUsage() { 40 | return usage; 41 | } 42 | 43 | public void setUsage(FileSystemUsage usage) { 44 | this.usage = usage; 45 | } 46 | 47 | public String getName() { 48 | if (null != name) { 49 | return name; 50 | } 51 | return devName; 52 | } 53 | 54 | public void setName(String name) { 55 | this.name = name; 56 | } 57 | 58 | public long getSuipian() { 59 | return this.getUsage().getAvail() - this.getUsage().getFree(); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/bean/FileItem.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.bean; 2 | 3 | public class FileItem { 4 | 5 | private String name; 6 | private String path; 7 | private String file; 8 | public String getName() { 9 | return name; 10 | } 11 | public void setName(String name) { 12 | this.name = name; 13 | } 14 | public String getPath() { 15 | return path; 16 | } 17 | public void setPath(String path) { 18 | this.path = path; 19 | } 20 | public String getFile() { 21 | return file; 22 | } 23 | public void setFile(String file) { 24 | this.file = file; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/bean/FileSystemUsage.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.bean; 2 | 3 | public class FileSystemUsage { 4 | 5 | private long free; 6 | private long used; 7 | private long avail; 8 | 9 | public FileSystemUsage(long free, long used, long avail) { 10 | this.free = free; 11 | this.used = used; 12 | this.avail = avail; 13 | } 14 | 15 | public long getFree() { 16 | return free; 17 | } 18 | 19 | public void setFree(long free) { 20 | this.free = free; 21 | } 22 | 23 | public long getUsed() { 24 | return used; 25 | } 26 | 27 | public void setUsed(long used) { 28 | this.used = used; 29 | } 30 | 31 | public long getAvail() { 32 | return avail; 33 | } 34 | 35 | public void setAvail(long avail) { 36 | this.avail = avail; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/bean/MemoryBean.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.bean; 2 | 3 | /** 4 | * 内存占用情况容器 5 | * @Project : nginx 6 | * @Program Name : com.aiyi.server.manager.nginx.bean.MemoryBean 7 | * @Description : 8 | * @Author : 郭胜凯 9 | * @Creation Date : 2018年2月6日 下午5:00:35 10 | * @ModificationHistory Who When What ---------- ------------- ----------------------------------- 11 | * 郭胜凯 2018年2月6日 create 12 | */ 13 | public class MemoryBean { 14 | 15 | /** 16 | * 内容容量 17 | */ 18 | private long total; 19 | 20 | /** 21 | * 可用 22 | */ 23 | private long free; 24 | 25 | /** 26 | * 已用 27 | */ 28 | private long compare; 29 | 30 | /** 31 | * 比例 32 | */ 33 | private int bai; 34 | 35 | public long getTotal() { 36 | return total; 37 | } 38 | 39 | public void setTotal(long total) { 40 | this.total = total; 41 | } 42 | 43 | public long getFree() { 44 | return free; 45 | } 46 | 47 | public void setFree(long free) { 48 | this.free = free; 49 | } 50 | 51 | public long getCompare() { 52 | return compare; 53 | } 54 | 55 | public void setCompare(long compare) { 56 | this.compare = compare; 57 | } 58 | 59 | public int getBai() { 60 | return bai; 61 | } 62 | 63 | public void setBai(int bai) { 64 | this.bai = bai; 65 | } 66 | 67 | 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/bean/TableDate.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.bean; 2 | 3 | import java.util.ArrayList; 4 | 5 | public class TableDate { 6 | 7 | private long size; 8 | 9 | private long start; 10 | 11 | private long length; 12 | 13 | private Object list = new ArrayList<>(); 14 | 15 | public long getSize() { 16 | return size; 17 | } 18 | 19 | public void setSize(long size) { 20 | this.size = size; 21 | } 22 | 23 | public long getStart() { 24 | return start; 25 | } 26 | 27 | public void setStart(long start) { 28 | this.start = start; 29 | } 30 | 31 | public long getLength() { 32 | return length; 33 | } 34 | 35 | public void setLength(long length) { 36 | this.length = length; 37 | } 38 | 39 | public Object getList() { 40 | return list; 41 | } 42 | 43 | public void setList(Object list) { 44 | this.list = list; 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/bean/User.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.bean; 2 | 3 | /** 4 | * 用户实体 5 | * @Project : nginx-gui 6 | * @Program Name : com.aiyi.server.manager.nginx.bean.User.java 7 | * @Description : 8 | * @Author : 郭胜凯 9 | * @Creation Date : 2018年2月26日 上午9:41:50 10 | * @ModificationHistory Who When What ---------- ------------- ----------------------------------- 11 | * 郭胜凯 2018年2月26日 create 12 | */ 13 | public class User { 14 | 15 | private String username; 16 | 17 | private String password; 18 | 19 | public String getUsername() { 20 | return username; 21 | } 22 | 23 | public void setUsername(String username) { 24 | this.username = username; 25 | } 26 | 27 | public String getPassword() { 28 | return password; 29 | } 30 | 31 | public void setPassword(String password) { 32 | this.password = password; 33 | } 34 | 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/bean/nginx/NginxConf.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.bean.nginx; 2 | 3 | /** 4 | * @Auther: 郭胜凯 5 | * @Date: 2019-04-23 09:19 6 | * @Email 719348277@qq.com 7 | * @Description: Nginx 配置文本承载类 8 | */ 9 | public class NginxConf { 10 | 11 | /** 12 | * 配置文本 13 | */ 14 | private String conf; 15 | 16 | public String getConf() { 17 | return conf; 18 | } 19 | 20 | public void setConf(String conf) { 21 | this.conf = conf; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/bean/nginx/NginxProxySetHeader.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.bean.nginx; 2 | 3 | /** 4 | * @Project : git 5 | * @Prackage Name : com.aiyi.server.manager.nginx.bean.nginx 6 | * @Description : Nginx 监听规则转发协议头 7 | * @Author : 郭胜凯 8 | * @Creation Date : 2018/4/18 上午10:39 9 | * @ModificationHistory Who When What ---------- ------------- ----------------------------------- 10 | * 郭胜凯 2018/4/18 11 | */ 12 | public class NginxProxySetHeader { 13 | 14 | //头 15 | private String header; 16 | 17 | //值 18 | private String value; 19 | 20 | public String getHeader() { 21 | return header; 22 | } 23 | 24 | public void setHeader(String header) { 25 | this.header = header; 26 | } 27 | 28 | public String getValue() { 29 | return value; 30 | } 31 | 32 | public void setValue(String value) { 33 | this.value = value; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/bean/nginx/NginxUpstreamItem.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.bean.nginx; 2 | 3 | /** 4 | * Nginx反向代理容器参数 5 | * @author guoshengkai 6 | * 7 | */ 8 | public class NginxUpstreamItem { 9 | 10 | /** 11 | * 代理地址 12 | */ 13 | private String address; 14 | 15 | /** 16 | * 权重 17 | */ 18 | private int weight; 19 | 20 | public String getAddress() { 21 | return address; 22 | } 23 | 24 | public void setAddress(String address) { 25 | this.address = address; 26 | } 27 | 28 | public int getWeight() { 29 | return weight; 30 | } 31 | 32 | public void setWeight(int weight) { 33 | this.weight = weight; 34 | } 35 | 36 | @Override 37 | public String toString() { 38 | return "server " + address + " weight=" + weight + ";"; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/controller/DocController.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | 6 | /** 7 | * 操作说明页面 8 | * @author guo 9 | * 10 | */ 11 | @Controller 12 | @RequestMapping("admin/doc") 13 | public class DocController { 14 | 15 | /** 16 | * 页面主页 17 | * @return 18 | */ 19 | @RequestMapping("/") 20 | public String index() { 21 | return "admin/doc/index"; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/controller/InfoManagerController.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | 6 | /** 7 | * 系统信息页 8 | * 9 | * @author jumkey 10 | */ 11 | @Controller 12 | @RequestMapping("admin/sys/info") 13 | public class InfoManagerController { 14 | 15 | /** 16 | * 系统信息页面 17 | */ 18 | @RequestMapping("/") 19 | public String InfoPage() { 20 | return "admin/info/index"; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/controller/ManagerController.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | 6 | /** 7 | * 后台主页控制 8 | * 9 | * @Project : nginx 10 | * @Program Name : com.aiyi.server.manager.nginx.controller.ManagerController 11 | * @Description : 12 | * @Author : 郭胜凯 13 | * @Creation Date : 2018年2月2日 下午6:20:18 14 | * @ModificationHistory Who When What ---------- ------------- ----------------------------------- 15 | * 郭胜凯 2018年2月2日 create 16 | */ 17 | @Controller 18 | @RequestMapping("admin") 19 | public class ManagerController { 20 | 21 | /** 22 | * 打开主页面 23 | * 24 | * @return : String 25 | * @Description : 26 | * @Creation Date : 2018年2月2日 下午6:20:39 27 | * @Author : 郭胜凯 28 | */ 29 | @RequestMapping("/") 30 | public String index() { 31 | return "admin/index"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/controller/UserController.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | 6 | /** 7 | * 用户管理页 8 | * 9 | * @author jumkey 10 | */ 11 | @Controller 12 | @RequestMapping("admin/user") 13 | public class UserController { 14 | 15 | /** 16 | * 修改密码页面 17 | */ 18 | @RequestMapping("/repwd") 19 | public String InfoPage() { 20 | return "admin/user/repwd"; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/core/thread/abst/ListProcessInterface.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.core.thread.abst; 2 | 3 | public interface ListProcessInterface { 4 | 5 | } -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/core/thread/en/ProcessType.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.core.thread.en; 2 | 3 | public enum ProcessType { 4 | 5 | Services("Services"), 6 | Console("Console"); 7 | 8 | String desp; 9 | 10 | ProcessType(String desp) { 11 | this.desp = desp; 12 | } 13 | 14 | public String getDesp() { 15 | return desp; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/exception/NginxServiceManagerException.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.exception; 2 | 3 | /** 4 | * Nginx服务操作异常类 5 | * 6 | * @Project : nginx 7 | * @Program Name : com.aiyi.server.manager.nginx.exception.NginxServiceManagerException 8 | * @Description : 9 | * @Author : 郭胜凯 10 | * @Creation Date : 2018年2月2日 上午10:39:22 11 | * @ModificationHistory Who When What ---------- ------------- ----------------------------------- 12 | * 郭胜凯 2018年2月2日 create 13 | */ 14 | public class NginxServiceManagerException extends RuntimeException { 15 | 16 | private static final long serialVersionUID = -4147541646201463868L; 17 | 18 | public NginxServiceManagerException() { 19 | super(); 20 | } 21 | 22 | public NginxServiceManagerException(String msg) { 23 | super(msg); 24 | } 25 | 26 | public NginxServiceManagerException(String msg, Throwable e) { 27 | super(msg, e); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/exception/ValiException.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.exception; 2 | 3 | /** 4 | * 逻辑校验异常 5 | * 6 | * @Project : nginx 7 | * @Program Name : com.aiyi.server.manager.nginx.exception.ValiException 8 | * @Description : 9 | * @Author : 郭胜凯 10 | * @Creation Date : 2018年2月2日 下午2:05:21 11 | * @ModificationHistory Who When What ---------- ------------- ----------------------------------- 12 | * 郭胜凯 2018年2月2日 create 13 | */ 14 | public class ValiException extends RuntimeException { 15 | 16 | private static final long serialVersionUID = 5572055683784252031L; 17 | 18 | public ValiException() { 19 | super(); 20 | } 21 | 22 | public ValiException(String msg) { 23 | super(msg); 24 | } 25 | 26 | public ValiException(String msg, Throwable e) { 27 | super(msg, e); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/aiyi/server/manager/nginx/utils/Vali.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx.utils; 2 | 3 | import java.lang.reflect.Field; 4 | import java.lang.reflect.Method; 5 | 6 | public class Vali { 7 | 8 | public static boolean isEpt(Object obj) { 9 | if (null == obj) { 10 | return true; 11 | } 12 | if (obj instanceof String) { 13 | return "".equals(((String) obj).trim()); 14 | } 15 | Class classes = obj.getClass(); 16 | Field[] fields = classes.getDeclaredFields(); 17 | for (Field field : fields) { 18 | try { 19 | String get = "get"; 20 | if(field.getClass().getName().equals(Boolean.class.getSimpleName()) || 21 | field.getType().getSimpleName().equals(Boolean.TYPE.getSimpleName())) { 22 | get = "is"; 23 | } 24 | String name = field.getName().substring(0, 1).toUpperCase() + field.getName().substring(1); 25 | 26 | Method method = classes.getMethod(get + name); 27 | Object invoke = method.invoke(obj); 28 | if (invoke != null) { 29 | return false; 30 | } 31 | } catch (Exception e) { 32 | e.printStackTrace(); 33 | } 34 | } 35 | return true; 36 | } 37 | 38 | /** 39 | * @param obj 等待校验的对象 40 | * @Description : 表单是否为空 41 | * @Creation Date : 2018/4/18 下午1:32 42 | * @Author : 郭胜凯 43 | */ 44 | public static boolean isFormEpt(Object obj){ 45 | boolean res = isEpt(obj); 46 | if (!res){ 47 | res = "null".equals(obj) || "undefined".equals(obj); 48 | } 49 | return res; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8889 3 | spring: 4 | freemarker: 5 | suffix: .html 6 | cache: false 7 | application: 8 | name: nginx 9 | logging: 10 | file: logs/nginx-gui.log 11 | -------------------------------------------------------------------------------- /src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _ _ _ _____ _ _ _____ 2 | | \ | | (_) / ____| | | | | |_ _| 3 | | \| | __ _ _ _ __ __ __ | | __ | | | | | | 4 | | . ` | / _` | | | | '_ \ \ \/ / | | |_ | | | | | | | 5 | | |\ | | (_| | | | | | | | > < | |__| | | |__| | _| |_ 6 | |_| \_| \__, | |_| |_| |_| /_/\_\ \_____| \____/ |_____| 7 | __/ | 8 | |___/ -------------------------------------------------------------------------------- /src/main/resources/static/Test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Insert title here 7 | 8 | 9 | 10 | 11 | 12 | user nginx; 13 | worker_processes auto; 14 | error_log /var/log/nginx/error.logwarn; 15 | pid /var/run/nginx.pid; 16 | events { 17 | worker_connections 1025; 18 | } 19 | http { 20 | include /etc/nginx/mime.types; 21 | default_type application/octet-stream; 22 | log_format main'$remote_addr-$remote_user[$time_local]"$request"''$status$body_bytes_sent"$http_referer"''"$http_user_agent""$http_x_forwarded_for"'; 23 | access_log /var/log/nginx/access.logmain; 24 | sendfile on; 25 | keepalive_timeout 65; 26 | upstream backend_http { 27 | server 1.1.1.1:80weight=2; 28 | server 2.2.2.2:80weight=2; 29 | } 30 | upstream backend_https { 31 | server 1.1.1.1:443weight=2; 32 | server 2.2.2.2:443weight=2; 33 | } 34 | server { 35 | listen 80; 36 | server_name aaaa.com; 37 | location / { 38 | proxy_pass http://backend_http; 39 | proxy_set_header Host$host; 40 | proxy_set_header X-Real-IP$remote_addr; 41 | proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for; 42 | } 43 | } 44 | server { 45 | listen 443ssl; 46 | server_name eeee.com; 47 | ssl_certificate /etc/nginx/cert/eeee.com.https.cert; 48 | ssl_certificate_key /etc/nginx/key/eeee.com.https.key; 49 | location / { 50 | proxy_pass http://backend_http; 51 | proxy_set_header Host$host; 52 | proxy_set_header X-Real-IP$remote_addr; 53 | proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for; 54 | } 55 | } 56 | } 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/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 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/addon/display/fullscreen.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-fullscreen { 2 | position: fixed; 3 | top: 0; left: 0; right: 0; bottom: 0; 4 | height: auto; 5 | z-index: 9; 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/addon/edit/trailingspace.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/addon/fold/foldgutter.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-foldmarker { 2 | color: blue; 3 | text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; 4 | font-family: arial; 5 | line-height: .3; 6 | cursor: pointer; 7 | } 8 | .CodeMirror-foldgutter { 9 | width: .7em; 10 | } 11 | .CodeMirror-foldgutter-open, 12 | .CodeMirror-foldgutter-folded { 13 | cursor: pointer; 14 | } 15 | .CodeMirror-foldgutter-open:after { 16 | content: "\25BE"; 17 | } 18 | .CodeMirror-foldgutter-folded:after { 19 | content: "\25B8"; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/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 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/addon/lint/css-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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, options) { 19 | var found = []; 20 | if (!window.CSSLint) { 21 | if (window.console) { 22 | window.console.error("Error: window.CSSLint not defined, CodeMirror CSS linting cannot run."); 23 | } 24 | return found; 25 | } 26 | var results = CSSLint.verify(text, options), messages = results.messages, message = null; 27 | for ( var i = 0; i < messages.length; i++) { 28 | message = messages[i]; 29 | var startLine = message.line -1, endLine = message.line -1, startCol = message.col -1, endCol = message.col; 30 | found.push({ 31 | from: CodeMirror.Pos(startLine, startCol), 32 | to: CodeMirror.Pos(endLine, endCol), 33 | message: message.message, 34 | severity : message.type 35 | }); 36 | } 37 | return found; 38 | }); 39 | 40 | }); 41 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/addon/lint/json-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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 | if (!window.jsonlint) { 21 | if (window.console) { 22 | window.console.error("Error: window.jsonlint not defined, CodeMirror JSON linting cannot run."); 23 | } 24 | return found; 25 | } 26 | // for jsonlint's web dist jsonlint is exported as an object with a single property parser, of which parseError 27 | // is a subproperty 28 | var jsonlint = window.jsonlint.parser || window.jsonlint 29 | jsonlint.parseError = function(str, hash) { 30 | var loc = hash.loc; 31 | found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column), 32 | to: CodeMirror.Pos(loc.last_line - 1, loc.last_column), 33 | message: str}); 34 | }; 35 | try { jsonlint.parse(text); } 36 | catch(e) {} 37 | return found; 38 | }); 39 | 40 | }); 41 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/addon/lint/yaml-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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 | if (!window.jsyaml) { 21 | if (window.console) { 22 | window.console.error("Error: window.jsyaml not defined, CodeMirror YAML linting cannot run."); 23 | } 24 | return found; 25 | } 26 | try { jsyaml.loadAll(text); } 27 | catch(e) { 28 | var loc = e.mark, 29 | // js-yaml YAMLException doesn't always provide an accurate lineno 30 | // e.g., when there are multiple yaml docs 31 | // --- 32 | // --- 33 | // foo:bar 34 | from = loc ? CodeMirror.Pos(loc.line, loc.column) : CodeMirror.Pos(0, 0), 35 | to = from; 36 | found.push({ from: from, to: to, message: e.message }); 37 | } 38 | return found; 39 | }); 40 | 41 | }); 42 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/addon/mode/multiplex_test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/addon/runmode/colorize.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror"), require("./runmode")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror", "./runmode"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | "use strict"; 13 | 14 | var isBlock = /^(p|li|div|h\\d|pre|blockquote|td)$/; 15 | 16 | function textContent(node, out) { 17 | if (node.nodeType == 3) return out.push(node.nodeValue); 18 | for (var ch = node.firstChild; ch; ch = ch.nextSibling) { 19 | textContent(ch, out); 20 | if (isBlock.test(node.nodeType)) out.push("\n"); 21 | } 22 | } 23 | 24 | CodeMirror.colorize = function(collection, defaultMode) { 25 | if (!collection) collection = document.body.getElementsByTagName("pre"); 26 | 27 | for (var i = 0; i < collection.length; ++i) { 28 | var node = collection[i]; 29 | var mode = node.getAttribute("data-lang") || defaultMode; 30 | if (!mode) continue; 31 | 32 | var text = []; 33 | textContent(node, text); 34 | node.innerHTML = ""; 35 | CodeMirror.runMode(text.join(""), mode, node); 36 | 37 | node.className += " cm-s-default"; 38 | } 39 | }; 40 | }); 41 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/addon/search/matchesonscrollbar.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-search-match { 2 | background: gold; 3 | border-top: 1px solid orange; 4 | border-bottom: 1px solid orange; 5 | -moz-box-sizing: border-box; 6 | box-sizing: border-box; 7 | opacity: .5; 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/static/admin/sys/high/addon/tern/worker.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://codemirror.net/LICENSE 3 | 4 | // declare global: tern, server 5 | 6 | var server; 7 | 8 | this.onmessage = function(e) { 9 | var data = e.data; 10 | switch (data.type) { 11 | case "init": return startServer(data.defs, data.plugins, data.scripts); 12 | case "add": return server.addFile(data.name, data.text); 13 | case "del": return server.delFile(data.name); 14 | case "req": return server.request(data.body, function(err, reqData) { 15 | postMessage({id: data.id, body: reqData, err: err && String(err)}); 16 | }); 17 | case "getFile": 18 | var c = pending[data.id]; 19 | delete pending[data.id]; 20 | return c(data.err, data.text); 21 | default: throw new Error("Unknown message type: " + data.type); 22 | } 23 | }; 24 | 25 | var nextId = 0, pending = {}; 26 | function getFile(file, c) { 27 | postMessage({type: "getFile", name: file, id: ++nextId}); 28 | pending[nextId] = c; 29 | } 30 | 31 | function startServer(defs, plugins, scripts) { 32 | if (scripts) importScripts.apply(null, scripts); 33 | 34 | server = new tern.Server({ 35 | getFile: getFile, 36 | async: true, 37 | defs: defs, 38 | plugins: plugins 39 | }); 40 | } 41 | 42 | this.console = { 43 | log: function(v) { postMessage({type: "debug", message: v}); } 44 | }; 45 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/README.md: -------------------------------------------------------------------------------- 1 | CKEditor 4 2 | ========== 3 | 4 | Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. 5 | http://ckeditor.com - See LICENSE.md for license information. 6 | 7 | CKEditor is a text editor to be used inside web pages. It's not a replacement 8 | for desktop text editors like Word or OpenOffice, but a component to be used as 9 | part of web applications and websites. 10 | 11 | ## Documentation 12 | 13 | The full editor documentation is available online at the following address: 14 | http://docs.ckeditor.com 15 | 16 | ## Installation 17 | 18 | Installing CKEditor is an easy task. Just follow these simple steps: 19 | 20 | 1. **Download** the latest version from the CKEditor website: 21 | http://ckeditor.com. You should have already completed this step, but be 22 | sure you have the very latest version. 23 | 2. **Extract** (decompress) the downloaded file into the root of your website. 24 | 25 | **Note:** CKEditor is by default installed in the `ckeditor` folder. You can 26 | place the files in whichever you want though. 27 | 28 | ## Checking Your Installation 29 | 30 | The editor comes with a few sample pages that can be used to verify that 31 | installation proceeded properly. Take a look at the `samples` directory. 32 | 33 | To test your installation, just call the following page at your website: 34 | 35 | http:////samples/index.html 36 | 37 | For example: 38 | 39 | http://www.example.com/ckeditor/samples/index.html 40 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. 3 | * For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.editorConfig = function( config ) { 7 | // Define changes to default configuration here. 8 | // For complete reference see: 9 | // http://docs.ckeditor.com/#!/api/CKEDITOR.config 10 | 11 | // The toolbar groups arrangement, optimized for two toolbar rows. 12 | config.toolbarGroups = [ 13 | { name: 'clipboard', groups: [ 'clipboard', 'undo' ] }, 14 | { name: 'editing', groups: [ 'find', 'selection', 'spellchecker' ] }, 15 | { name: 'links' }, 16 | { name: 'insert' }, 17 | { name: 'forms' }, 18 | { name: 'tools' }, 19 | { name: 'document', groups: [ 'mode', 'document', 'doctools' ] }, 20 | { name: 'others' }, 21 | '/', 22 | { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] }, 23 | { name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi' ] }, 24 | { name: 'styles' }, 25 | { name: 'colors' }, 26 | { name: 'about' } 27 | ]; 28 | 29 | // Remove some buttons provided by the standard plugins, which are 30 | // not needed in the Standard(s) toolbar. 31 | config.removeButtons = 'Underline,Subscript,Superscript'; 32 | 33 | // Set the most common block elements. 34 | config.format_tags = 'p;h1;h2;h3;pre'; 35 | 36 | // Simplify the dialog windows. 37 | config.removeDialogTabs = 'image:advanced;link:advanced'; 38 | }; 39 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. 2 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 3 | 4 | cs.js Found: 30 Missing: 0 5 | cy.js Found: 30 Missing: 0 6 | da.js Found: 12 Missing: 18 7 | de.js Found: 30 Missing: 0 8 | el.js Found: 25 Missing: 5 9 | eo.js Found: 30 Missing: 0 10 | fa.js Found: 30 Missing: 0 11 | fi.js Found: 30 Missing: 0 12 | fr.js Found: 30 Missing: 0 13 | gu.js Found: 12 Missing: 18 14 | he.js Found: 30 Missing: 0 15 | it.js Found: 30 Missing: 0 16 | mk.js Found: 5 Missing: 25 17 | nb.js Found: 30 Missing: 0 18 | nl.js Found: 30 Missing: 0 19 | no.js Found: 30 Missing: 0 20 | pt-br.js Found: 30 Missing: 0 21 | ro.js Found: 6 Missing: 24 22 | tr.js Found: 30 Missing: 0 23 | ug.js Found: 27 Missing: 3 24 | vi.js Found: 6 Missing: 24 25 | zh-cn.js Found: 30 Missing: 0 26 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/about/dialogs/logo_ckeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/about/dialogs/logo_ckeditor.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/dialog/dialogDefinition.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/icons.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/icons_hidpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/icons_hidpi.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/image/images/noimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/image/images/noimage.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/link/images/anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/link/images/anchor.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/link/images/hidpi/anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/link/images/hidpi/anchor.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/magicline/images/hidpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/magicline/images/hidpi/icon.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/magicline/images/icon-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/magicline/images/icon-rtl.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/magicline/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/magicline/images/icon.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/scayt/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | SCAYT plugin for CKEditor 4 Changelog 2 | ==================== 3 | ### CKEditor 4.5.6 4 | 5 | New Features: 6 | * CKEditor [language addon](http://ckeditor.com/addon/language) support 7 | * CKEditor [placeholder addon](http://ckeditor.com/addon/placeholder) support 8 | * Drag and Drop support 9 | * *Experimental* GRAYT functionality http://www.webspellchecker.net/samples/scayt-ckeditor-plugin.html#25 10 | 11 | Fixed issues: 12 | * [#98](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/98) SCAYT Affects Dialog Double Click. Fixed in SCAYT Core. 13 | * [#102](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/102) SCAYT Core performance enhancements 14 | * [#104](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/104) SCAYT's spans leak into the clipboard and after pasting 15 | * [#105](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/105) Javascript error fired in case of multiple instances of CKEditor in one page 16 | * [#107](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/107) SCAYT should not check non-editable parts of content 17 | * [#108](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/108) Latest SCAYT copies id of editor element to the iframe 18 | * SCAYT stops working when CKEditor Undo plug-in not enabled 19 | * Issue with pasting SCAYT markup in CKEditor 20 | * [#32](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/32) SCAYT stops working after pressing Cancel button in WSC dialog 21 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/scayt/LICENSE.md: -------------------------------------------------------------------------------- 1 | Software License Agreement 2 | ========================== 3 | 4 | **CKEditor SCAYT Plugin** 5 | Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. 6 | 7 | Licensed under the terms of any of the following licenses at your choice: 8 | 9 | * GNU General Public License Version 2 or later (the "GPL"): 10 | http://www.gnu.org/licenses/gpl.html 11 | 12 | * GNU Lesser General Public License Version 2.1 or later (the "LGPL"): 13 | http://www.gnu.org/licenses/lgpl.html 14 | 15 | * Mozilla Public License Version 1.1 or later (the "MPL"): 16 | http://www.mozilla.org/MPL/MPL-1.1.html 17 | 18 | You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. 19 | 20 | Sources of Intellectual Property Included in this plugin 21 | -------------------------------------------------------- 22 | 23 | Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. 24 | 25 | Trademarks 26 | ---------- 27 | 28 | CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. 29 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/scayt/README.md: -------------------------------------------------------------------------------- 1 | CKEditor SCAYT Plugin 2 | ===================== 3 | 4 | This plugin brings Spell Check As You Type (SCAYT) into up to CKEditor 4+. 5 | 6 | SCAYT is a "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. 7 | 8 | Installation 9 | ------------ 10 | 11 | 1. Clone/copy this repository contents in a new "plugins/scayt" folder in your CKEditor installation. 12 | 2. Enable the "scayt" plugin in the CKEditor configuration file (config.js): 13 | 14 | config.extraPlugins = 'scayt'; 15 | 16 | That's all. SCAYT will appear on the editor toolbar and will be ready to use. 17 | 18 | License 19 | ------- 20 | 21 | Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). 22 | 23 | See LICENSE.md for more information. 24 | 25 | Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). 26 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/scayt/dialogs/dialog.css: -------------------------------------------------------------------------------- 1 | div.cke_dialog_ui_scaytItemList { 2 | border: 1px solid #c9cccf; 3 | } 4 | 5 | .cke_scaytItemList-child { 6 | position: relative; 7 | padding: 6px 30px 6px 5px; 8 | overflow: hidden; 9 | text-overflow: ellipsis; 10 | white-space: nowrap; 11 | } 12 | 13 | .cke_scaytItemList-child:hover { 14 | background: #ebebeb; 15 | } 16 | 17 | .cke_scaytItemList-child .cke_scaytItemList_remove { 18 | position: absolute; 19 | top: 0; 20 | right: 5px; 21 | width: 26px; 22 | height: 26px; 23 | } 24 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/scayt/dialogs/toolbar.css: -------------------------------------------------------------------------------- 1 | a 2 | { 3 | text-decoration:none; 4 | padding: 2px 4px 4px 6px; 5 | display : block; 6 | border-width: 1px; 7 | border-style: solid; 8 | margin : 0px; 9 | } 10 | 11 | a.cke_scayt_toogle:hover, 12 | a.cke_scayt_toogle:focus, 13 | a.cke_scayt_toogle:active 14 | { 15 | border-color: #316ac5; 16 | background-color: #dff1ff; 17 | color : #000; 18 | cursor: pointer; 19 | margin : 0px; 20 | } 21 | a.cke_scayt_toogle { 22 | color : #316ac5; 23 | border-color: #fff; 24 | } 25 | .scayt_enabled a.cke_scayt_item { 26 | color : #316ac5; 27 | border-color: #fff; 28 | margin : 0px; 29 | } 30 | .scayt_disabled a.cke_scayt_item { 31 | color : gray; 32 | border-color : #fff; 33 | } 34 | .scayt_enabled a.cke_scayt_item:hover, 35 | .scayt_enabled a.cke_scayt_item:focus, 36 | .scayt_enabled a.cke_scayt_item:active 37 | { 38 | border-color: #316ac5; 39 | background-color: #dff1ff; 40 | color : #000; 41 | cursor: pointer; 42 | } 43 | .scayt_disabled a.cke_scayt_item:hover, 44 | .scayt_disabled a.cke_scayt_item:focus, 45 | .scayt_disabled a.cke_scayt_item:active 46 | { 47 | border-color: gray; 48 | background-color: #dff1ff; 49 | color : gray; 50 | cursor: no-drop; 51 | } 52 | .cke_scayt_set_on, .cke_scayt_set_off 53 | { 54 | display: none; 55 | } 56 | .scayt_enabled .cke_scayt_set_on 57 | { 58 | display: none; 59 | } 60 | .scayt_disabled .cke_scayt_set_on 61 | { 62 | display: inline; 63 | } 64 | .scayt_disabled .cke_scayt_set_off 65 | { 66 | display: none; 67 | } 68 | .scayt_enabled .cke_scayt_set_off 69 | { 70 | display: inline; 71 | } 72 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css: -------------------------------------------------------------------------------- 1 | .scayt-lang-list > div 2 | { 3 | padding-bottom: 6px !important; 4 | } 5 | 6 | .scayt-lang-list > div input 7 | { 8 | margin-right: 4px; 9 | } 10 | 11 | #scayt_about_ 12 | { 13 | margin: 30px auto 0 auto; 14 | } 15 | 16 | #scayt_about_ p 17 | { 18 | text-align: center; 19 | margin-bottom: 10px; 20 | } 21 | 22 | .cke_dialog_contents_body div[name=dictionaries] .cke_dialog_ui_hbox_last > a.cke_dialog_ui_button 23 | { 24 | margin-top: 0; 25 | } 26 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. 2 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 3 | 4 | cs.js Found: 118 Missing: 0 5 | cy.js Found: 118 Missing: 0 6 | de.js Found: 118 Missing: 0 7 | el.js Found: 16 Missing: 102 8 | eo.js Found: 118 Missing: 0 9 | et.js Found: 31 Missing: 87 10 | fa.js Found: 24 Missing: 94 11 | fi.js Found: 23 Missing: 95 12 | fr.js Found: 118 Missing: 0 13 | hr.js Found: 23 Missing: 95 14 | it.js Found: 118 Missing: 0 15 | nb.js Found: 118 Missing: 0 16 | nl.js Found: 118 Missing: 0 17 | no.js Found: 118 Missing: 0 18 | tr.js Found: 118 Missing: 0 19 | ug.js Found: 39 Missing: 79 20 | zh-cn.js Found: 118 Missing: 0 21 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/tableselection/styles/tableselection.css: -------------------------------------------------------------------------------- 1 | .cke_table-faked-selection-editor *::selection, table[data-cke-table-faked-selection-table] *::selection { 2 | background: transparent; 3 | } 4 | 5 | .cke_table-faked-selection-editor { 6 | /* With love, dedicated for Chrome, until https://bugs.chromium.org/p/chromium/issues/detail?id=702610 is resolved. 7 | It will force repaint (without reflow) so that selection is properly displayed. */ 8 | transform: translateZ( 0 ); 9 | } 10 | 11 | .cke_table-faked-selection { 12 | background: darkgray !important; 13 | color: black; 14 | } 15 | .cke_table-faked-selection a { 16 | color: black; 17 | } 18 | .cke_editable:focus .cke_table-faked-selection { 19 | /* We have to use !important here, as td might specify it's own background, thus table selection 20 | would not be visible. */ 21 | background: #0076cb !important; 22 | color: white; 23 | } 24 | .cke_editable:focus .cke_table-faked-selection a { 25 | color: white; 26 | } 27 | .cke_table-faked-selection::-moz-selection, .cke_table-faked-selection ::-moz-selection { 28 | background: transparent; 29 | } 30 | .cke_table-faked-selection::selection, .cke_table-faked-selection ::selection { 31 | background: transparent; 32 | } 33 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/widget/images/handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/plugins/widget/images/handle.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/wsc/LICENSE.md: -------------------------------------------------------------------------------- 1 | Software License Agreement 2 | ========================== 3 | 4 | **CKEditor WSC Plugin** 5 | Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. 6 | 7 | Licensed under the terms of any of the following licenses at your choice: 8 | 9 | * GNU General Public License Version 2 or later (the "GPL"): 10 | http://www.gnu.org/licenses/gpl.html 11 | 12 | * GNU Lesser General Public License Version 2.1 or later (the "LGPL"): 13 | http://www.gnu.org/licenses/lgpl.html 14 | 15 | * Mozilla Public License Version 1.1 or later (the "MPL"): 16 | http://www.mozilla.org/MPL/MPL-1.1.html 17 | 18 | You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. 19 | 20 | Sources of Intellectual Property Included in this plugin 21 | -------------------------------------------------------- 22 | 23 | Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. 24 | 25 | Trademarks 26 | ---------- 27 | 28 | CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. 29 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/wsc/README.md: -------------------------------------------------------------------------------- 1 | CKEditor WebSpellChecker Plugin 2 | =============================== 3 | 4 | This plugin brings Web Spell Checker (WSC) into CKEditor. 5 | 6 | WSC is "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. 7 | 8 | Installation 9 | ------------ 10 | 11 | 1. Clone/copy this repository contents in a new "plugins/wsc" folder in your CKEditor installation. 12 | 2. Enable the "wsc" plugin in the CKEditor configuration file (config.js): 13 | 14 | config.extraPlugins = 'wsc'; 15 | 16 | That's all. WSC will appear on the editor toolbar and will be ready to use. 17 | 18 | License 19 | ------- 20 | 21 | Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). 22 | 23 | See LICENSE.md for more information. 24 | 25 | Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). 26 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/wsc/dialogs/wsc.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | html, body 7 | { 8 | background-color: transparent; 9 | margin: 0px; 10 | padding: 0px; 11 | } 12 | 13 | body 14 | { 15 | padding: 10px; 16 | } 17 | 18 | body, td, input, select, textarea 19 | { 20 | font-size: 11px; 21 | font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; 22 | } 23 | 24 | .midtext 25 | { 26 | padding:0px; 27 | margin:10px; 28 | } 29 | 30 | .midtext p 31 | { 32 | padding:0px; 33 | margin:10px; 34 | } 35 | 36 | .Button 37 | { 38 | border: #737357 1px solid; 39 | color: #3b3b1f; 40 | background-color: #c7c78f; 41 | } 42 | 43 | .PopupTabArea 44 | { 45 | color: #737357; 46 | background-color: #e3e3c7; 47 | } 48 | 49 | .PopupTitleBorder 50 | { 51 | border-bottom: #d5d59d 1px solid; 52 | } 53 | .PopupTabEmptyArea 54 | { 55 | padding-left: 10px; 56 | border-bottom: #d5d59d 1px solid; 57 | } 58 | 59 | .PopupTab, .PopupTabSelected 60 | { 61 | border-right: #d5d59d 1px solid; 62 | border-top: #d5d59d 1px solid; 63 | border-left: #d5d59d 1px solid; 64 | padding: 3px 5px 3px 5px; 65 | color: #737357; 66 | } 67 | 68 | .PopupTab 69 | { 70 | margin-top: 1px; 71 | border-bottom: #d5d59d 1px solid; 72 | cursor: pointer; 73 | } 74 | 75 | .PopupTabSelected 76 | { 77 | font-weight: bold; 78 | cursor: default; 79 | padding-top: 4px; 80 | border-bottom: #f1f1e3 1px solid; 81 | background-color: #f1f1e3; 82 | } 83 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css: -------------------------------------------------------------------------------- 1 | .cke_dialog_body #overlayBlock, 2 | .cke_dialog_body #no_check_over 3 | { 4 | top: 39px !important; 5 | } 6 | 7 | div[name=SpellTab] .wsc-spelltab-bottom .cke_dialog_ui_vbox td > .cke_dialog_ui_button:first-child 8 | { 9 | margin-top: 4px; 10 | } 11 | 12 | div[name=SpellTab] .wsc-spelltab-bottom .cke_dialog_ui_hbox_first .cke_dialog_ui_select > label 13 | { 14 | margin-left: 0; 15 | } 16 | 17 | div[name=SpellTab] .wsc-spelltab-bottom .cke_dialog_ui_hbox_first .cke_dialog_ui_select div.cke_dialog_ui_input_select 18 | { 19 | width: 140px !important; 20 | } 21 | 22 | div[name=SpellTab] .wsc-spelltab-bottom .cke_dialog_ui_hbox_first .cke_dialog_ui_select select.cke_dialog_ui_input_select, 23 | div[name=Thesaurus] div.cke_dialog_ui_input_select select.cke_dialog_ui_input_select 24 | { 25 | margin-top: 1px; 26 | } 27 | 28 | div[name=SpellTab] .wsc-spelltab-bottom .cke_dialog_ui_hbox_first .cke_dialog_ui_select select.cke_dialog_ui_input_select:focus, 29 | div[name=Thesaurus] div.cke_dialog_ui_input_select select.cke_dialog_ui_input_select:focus 30 | { 31 | margin-top: 0; 32 | } 33 | 34 | div[name=GrammTab] .cke_dialog_ui_vbox tbody > tr:first-child .cke_dialog_ui_button, 35 | div[name=Thesaurus] .cke_dialog_ui_vbox tbody > tr:first-child .cke_dialog_ui_button 36 | { 37 | margin-top: 4px !important; 38 | } 39 | 40 | div[name=Thesaurus] div.cke_dialog_ui_input_select 41 | { 42 | width: 180px !important; 43 | } 44 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/img/github-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/samples/img/github-top.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/img/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/samples/img/header-bg.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/img/header-separator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/samples/img/header-separator.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/samples/img/logo.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/img/navigation-tip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/samples/img/navigation-tip.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/old/assets/inlineall/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/samples/old/assets/inlineall/logo.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/old/assets/sample.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/samples/old/assets/sample.jpg -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/old/assets/uilanguages/languages.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license 4 | */ 5 | var CKEDITOR_LANGS=function(){var c={af:"Afrikaans",ar:"Arabic",az:"Azerbaijani",bg:"Bulgarian",bn:"Bengali/Bangla",bs:"Bosnian",ca:"Catalan",cs:"Czech",cy:"Welsh",da:"Danish",de:"German","de-ch":"German (Switzerland)",el:"Greek",en:"English","en-au":"English (Australia)","en-ca":"English (Canadian)","en-gb":"English (United Kingdom)",eo:"Esperanto",es:"Spanish","es-mx":"Spanish (Mexico)",et:"Estonian",eu:"Basque",fa:"Persian",fi:"Finnish",fo:"Faroese",fr:"French","fr-ca":"French (Canada)",gl:"Galician", 6 | gu:"Gujarati",he:"Hebrew",hi:"Hindi",hr:"Croatian",hu:"Hungarian",id:"Indonesian",is:"Icelandic",it:"Italian",ja:"Japanese",ka:"Georgian",km:"Khmer",ko:"Korean",ku:"Kurdish",lt:"Lithuanian",lv:"Latvian",mk:"Macedonian",mn:"Mongolian",ms:"Malay",nb:"Norwegian Bokmal",nl:"Dutch",no:"Norwegian",oc:"Occitan",pl:"Polish",pt:"Portuguese (Portugal)","pt-br":"Portuguese (Brazil)",ro:"Romanian",ru:"Russian",si:"Sinhala",sk:"Slovak",sq:"Albanian",sl:"Slovenian",sr:"Serbian (Cyrillic)","sr-latn":"Serbian (Latin)", 7 | sv:"Swedish",th:"Thai",tr:"Turkish",tt:"Tatar",ug:"Uighur",uk:"Ukrainian",vi:"Vietnamese",zh:"Chinese Traditional","zh-cn":"Chinese Simplified"},b=[],a;for(a in CKEDITOR.lang.languages)b.push({code:a,name:c[a]||a});b.sort(function(a,b){return a.name
 2 | 
 3 | -------------------------------------------------------------------------------------------
 4 |   CKEditor - Posted Data
 5 | 
 6 |   We are sorry, but your Web server does not support the PHP language used in this script.
 7 | 
 8 |   Please note that CKEditor can be used with any other server-side language than just PHP.
 9 |   To save the content created with CKEditor you need to read the POST data on the server
10 |   side and write it to a file or the database.
11 | 
12 |   Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
13 |   For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
14 | -------------------------------------------------------------------------------------------
15 | 
16 | 
*/ include "assets/posteddata.php"; ?> 17 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Font license info 2 | 3 | 4 | ## Font Awesome 5 | 6 | Copyright (C) 2012 by Dave Gandy 7 | 8 | Author: Dave Gandy 9 | License: SIL () 10 | Homepage: http://fortawesome.github.com/Font-Awesome/ 11 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/toolbarconfigurator/font/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "css_prefix_text": "icon-", 4 | "css_use_suffix": false, 5 | "hinting": true, 6 | "units_per_em": 1000, 7 | "ascent": 850, 8 | "glyphs": [ 9 | { 10 | "uid": "f48ae54adfb27d8ada53d0fd9e34ee10", 11 | "css": "trash-empty", 12 | "code": 59392, 13 | "src": "fontawesome" 14 | }, 15 | { 16 | "uid": "1c4068ed75209e21af36017df8871802", 17 | "css": "down-big", 18 | "code": 59393, 19 | "src": "fontawesome" 20 | }, 21 | { 22 | "uid": "95376bf082bfec6ce06ea1cda7bd7ead", 23 | "css": "up-big", 24 | "code": 59394, 25 | "src": "fontawesome" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/toolbarconfigurator/font/fontello.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/samples/toolbarconfigurator/font/fontello.eot -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/toolbarconfigurator/font/fontello.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/samples/toolbarconfigurator/font/fontello.ttf -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/toolbarconfigurator/font/fontello.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/samples/toolbarconfigurator/font/fontello.woff -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/toolbarconfigurator/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 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/toolbarconfigurator/lib/codemirror/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 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/samples/toolbarconfigurator/lib/codemirror/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 | -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/icons.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/icons_hidpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/icons_hidpi.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/images/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/images/arrow.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/images/close.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/images/hidpi/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/images/hidpi/close.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/images/hidpi/lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/images/hidpi/lock.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/images/hidpi/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/images/hidpi/refresh.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/images/lock-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/images/lock-open.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/images/lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/images/lock.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/images/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/images/refresh.png -------------------------------------------------------------------------------- /src/main/resources/static/ckeditor/skins/moono-lisa/images/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/ckeditor/skins/moono-lisa/images/spinner.gif -------------------------------------------------------------------------------- /src/main/resources/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 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/addon/display/fullscreen.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-fullscreen { 2 | position: fixed; 3 | top: 0; left: 0; right: 0; bottom: 0; 4 | height: auto; 5 | z-index: 9; 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/addon/edit/trailingspace.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/addon/fold/foldgutter.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-foldmarker { 2 | color: blue; 3 | text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; 4 | font-family: arial; 5 | line-height: .3; 6 | cursor: pointer; 7 | } 8 | .CodeMirror-foldgutter { 9 | width: .7em; 10 | } 11 | .CodeMirror-foldgutter-open, 12 | .CodeMirror-foldgutter-folded { 13 | cursor: pointer; 14 | } 15 | .CodeMirror-foldgutter-open:after { 16 | content: "\25BE"; 17 | } 18 | .CodeMirror-foldgutter-folded:after { 19 | content: "\25B8"; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/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 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/addon/lint/css-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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, options) { 19 | var found = []; 20 | if (!window.CSSLint) { 21 | if (window.console) { 22 | window.console.error("Error: window.CSSLint not defined, CodeMirror CSS linting cannot run."); 23 | } 24 | return found; 25 | } 26 | var results = CSSLint.verify(text, options), messages = results.messages, message = null; 27 | for ( var i = 0; i < messages.length; i++) { 28 | message = messages[i]; 29 | var startLine = message.line -1, endLine = message.line -1, startCol = message.col -1, endCol = message.col; 30 | found.push({ 31 | from: CodeMirror.Pos(startLine, startCol), 32 | to: CodeMirror.Pos(endLine, endCol), 33 | message: message.message, 34 | severity : message.type 35 | }); 36 | } 37 | return found; 38 | }); 39 | 40 | }); 41 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/addon/lint/json-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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 | if (!window.jsonlint) { 21 | if (window.console) { 22 | window.console.error("Error: window.jsonlint not defined, CodeMirror JSON linting cannot run."); 23 | } 24 | return found; 25 | } 26 | // for jsonlint's web dist jsonlint is exported as an object with a single property parser, of which parseError 27 | // is a subproperty 28 | var jsonlint = window.jsonlint.parser || window.jsonlint 29 | jsonlint.parseError = function(str, hash) { 30 | var loc = hash.loc; 31 | found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column), 32 | to: CodeMirror.Pos(loc.last_line - 1, loc.last_column), 33 | message: str}); 34 | }; 35 | try { jsonlint.parse(text); } 36 | catch(e) {} 37 | return found; 38 | }); 39 | 40 | }); 41 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/addon/lint/yaml-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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 | if (!window.jsyaml) { 21 | if (window.console) { 22 | window.console.error("Error: window.jsyaml not defined, CodeMirror YAML linting cannot run."); 23 | } 24 | return found; 25 | } 26 | try { jsyaml.loadAll(text); } 27 | catch(e) { 28 | var loc = e.mark, 29 | // js-yaml YAMLException doesn't always provide an accurate lineno 30 | // e.g., when there are multiple yaml docs 31 | // --- 32 | // --- 33 | // foo:bar 34 | from = loc ? CodeMirror.Pos(loc.line, loc.column) : CodeMirror.Pos(0, 0), 35 | to = from; 36 | found.push({ from: from, to: to, message: e.message }); 37 | } 38 | return found; 39 | }); 40 | 41 | }); 42 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/addon/mode/multiplex_test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/addon/runmode/colorize.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror"), require("./runmode")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror", "./runmode"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | "use strict"; 13 | 14 | var isBlock = /^(p|li|div|h\\d|pre|blockquote|td)$/; 15 | 16 | function textContent(node, out) { 17 | if (node.nodeType == 3) return out.push(node.nodeValue); 18 | for (var ch = node.firstChild; ch; ch = ch.nextSibling) { 19 | textContent(ch, out); 20 | if (isBlock.test(node.nodeType)) out.push("\n"); 21 | } 22 | } 23 | 24 | CodeMirror.colorize = function(collection, defaultMode) { 25 | if (!collection) collection = document.body.getElementsByTagName("pre"); 26 | 27 | for (var i = 0; i < collection.length; ++i) { 28 | var node = collection[i]; 29 | var mode = node.getAttribute("data-lang") || defaultMode; 30 | if (!mode) continue; 31 | 32 | var text = []; 33 | textContent(node, text); 34 | node.innerHTML = ""; 35 | CodeMirror.runMode(text.join(""), mode, node); 36 | 37 | node.className += " cm-s-default"; 38 | } 39 | }; 40 | }); 41 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/addon/search/matchesonscrollbar.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-search-match { 2 | background: gold; 3 | border-top: 1px solid orange; 4 | border-bottom: 1px solid orange; 5 | -moz-box-sizing: border-box; 6 | box-sizing: border-box; 7 | opacity: .5; 8 | } 9 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/addon/tern/worker.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://codemirror.net/LICENSE 3 | 4 | // declare global: tern, server 5 | 6 | var server; 7 | 8 | this.onmessage = function(e) { 9 | var data = e.data; 10 | switch (data.type) { 11 | case "init": return startServer(data.defs, data.plugins, data.scripts); 12 | case "add": return server.addFile(data.name, data.text); 13 | case "del": return server.delFile(data.name); 14 | case "req": return server.request(data.body, function(err, reqData) { 15 | postMessage({id: data.id, body: reqData, err: err && String(err)}); 16 | }); 17 | case "getFile": 18 | var c = pending[data.id]; 19 | delete pending[data.id]; 20 | return c(data.err, data.text); 21 | default: throw new Error("Unknown message type: " + data.type); 22 | } 23 | }; 24 | 25 | var nextId = 0, pending = {}; 26 | function getFile(file, c) { 27 | postMessage({type: "getFile", name: file, id: ++nextId}); 28 | pending[nextId] = c; 29 | } 30 | 31 | function startServer(defs, plugins, scripts) { 32 | if (scripts) importScripts.apply(null, scripts); 33 | 34 | server = new tern.Server({ 35 | getFile: getFile, 36 | async: true, 37 | defs: defs, 38 | plugins: plugins 39 | }); 40 | } 41 | 42 | this.console = { 43 | log: function(v) { postMessage({type: "debug", message: v}); } 44 | }; 45 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/bin/authors.sh: -------------------------------------------------------------------------------- 1 | # Combine existing list of authors with everyone known in git, sort, add header. 2 | tail --lines=+3 AUTHORS > AUTHORS.tmp 3 | git log --format='%aN' | grep -v "Piët Delport" >> AUTHORS.tmp 4 | echo -e "List of CodeMirror contributors. Updated before every release.\n" > AUTHORS 5 | sort -u AUTHORS.tmp | sed 's/Google Inc\./Google LLC/' >> AUTHORS 6 | rm -f AUTHORS.tmp 7 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/bin/lint: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | process.exit(require("../test/lint").ok ? 0 : 1); 4 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/bin/release: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var fs = require("fs"), child = require("child_process"); 4 | 5 | var number, bumpOnly; 6 | 7 | for (var i = 2; i < process.argv.length; i++) { 8 | if (process.argv[i] == "-bump") bumpOnly = true; 9 | else if (/^\d+\.\d+\.\d+$/.test(process.argv[i])) number = process.argv[i]; 10 | else { console.log("Bogus command line arg: " + process.argv[i]); process.exit(1); } 11 | } 12 | 13 | if (!number) { console.log("Must give a version"); process.exit(1); } 14 | 15 | function rewrite(file, f) { 16 | fs.writeFileSync(file, f(fs.readFileSync(file, "utf8")), "utf8"); 17 | } 18 | 19 | rewrite("src/edit/main.js", function(lib) { 20 | return lib.replace(/CodeMirror\.version = "\d+\.\d+\.\d+"/, 21 | "CodeMirror.version = \"" + number + "\""); 22 | }); 23 | function rewriteJSON(pack) { 24 | return pack.replace(/"version":\s*"\d+\.\d+\.\d+"/, "\"version\": \"" + number + "\""); 25 | } 26 | rewrite("package.json", rewriteJSON); 27 | rewrite("doc/manual.html", function(manual) { 28 | return manual.replace(/>version \d+\.\d+\.\d+<\/span>/, ">version " + number + ""); 29 | }); 30 | 31 | if (bumpOnly) process.exit(0); 32 | 33 | child.exec("bash bin/authors.sh", function(){}); 34 | 35 | rewrite("index.html", function(index) { 36 | return index.replace(/\.zip">\d+\.\d+\.\d+<\/a>/, 37 | ".zip\">" + number + ""); 38 | }); 39 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/bin/source-highlight: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | // Simple command-line code highlighting tool. Reads code from stdin, 4 | // spits html to stdout. For example: 5 | // 6 | // echo 'function foo(a) { return a; }' | bin/source-highlight -s javascript 7 | // bin/source-highlight -s 8 | 9 | var fs = require("fs"); 10 | 11 | var CodeMirror = require("../addon/runmode/runmode.node.js"); 12 | require("../mode/meta.js"); 13 | 14 | var sPos = process.argv.indexOf("-s"); 15 | if (sPos == -1 || sPos == process.argv.length - 1) { 16 | console.error("Usage: source-highlight -s language"); 17 | process.exit(1); 18 | } 19 | var lang = process.argv[sPos + 1].toLowerCase(), modeName = lang; 20 | var found = CodeMirror.findModeByMIME(lang) || CodeMirror.findModeByName(lang) 21 | if (found) { 22 | modeName = found.mode 23 | lang = found.mime 24 | } 25 | 26 | if (!CodeMirror.modes[modeName]) 27 | require("../mode/" + modeName + "/" + modeName + ".js"); 28 | 29 | function esc(str) { 30 | return str.replace(/[<&]/g, function(ch) { return ch == "&" ? "&" : "<"; }); 31 | } 32 | 33 | var code = fs.readFileSync("/dev/stdin", "utf8"); 34 | var curStyle = null, accum = ""; 35 | function flush() { 36 | if (curStyle) process.stdout.write("" + esc(accum) + ""); 37 | else process.stdout.write(esc(accum)); 38 | } 39 | 40 | CodeMirror.runMode(code, lang, function(text, style) { 41 | if (style != curStyle) { 42 | flush(); 43 | curStyle = style; accum = text; 44 | } else { 45 | accum += text; 46 | } 47 | }); 48 | flush(); 49 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/bin/upload-release.js: -------------------------------------------------------------------------------- 1 | "use strict" 2 | 3 | let version = process.argv[2] 4 | let auth = process.argv[3] 5 | 6 | if (!auth) { 7 | console.log("Usage: upload-release.js [TAG] [github-user:password]") 8 | process.exit(1) 9 | } 10 | 11 | require('child_process').exec("git --no-pager show -s --format='%s' " + version, (error, stdout) => { 12 | if (error) throw error 13 | let message = stdout.split("\n").slice(2) 14 | message = message.slice(0, message.indexOf("-----BEGIN PGP SIGNATURE-----")).join("\n") 15 | 16 | let req = require("https").request({ 17 | host: "api.github.com", 18 | auth: auth, 19 | headers: {"user-agent": "Release uploader"}, 20 | path: "/repos/codemirror/codemirror/releases", 21 | method: "POST" 22 | }, res => { 23 | if (res.statusCode >= 300) { 24 | console.error(res.statusMessage) 25 | res.on("data", d => console.log(d.toString())) 26 | res.on("end", process.exit(1)) 27 | } 28 | }) 29 | req.write(JSON.stringify({ 30 | tag_name: version, 31 | name: version, 32 | body: message 33 | })) 34 | req.end() 35 | }) 36 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/demo/closetag.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | CodeMirror: Close-Tag Demo 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 30 | 31 |
32 |

Close-Tag Demo

33 |
34 | 35 | 41 |
42 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/demo/matchtags.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | CodeMirror: Tag Matcher Demo 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 27 | 28 |
29 |

Tag Matcher Demo

30 | 31 | 32 |
33 | 34 | 44 | 45 |

Put the cursor on or inside a pair of tags to highlight them. 46 | Press Ctrl-J to jump to the tag that matches the one under the 47 | cursor.

48 |
49 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/demo/resize.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | CodeMirror: Autoresize Demo 4 | 5 | 6 | 7 | 8 | 9 | 10 | 16 | 28 | 29 |
30 |

Autoresize Demo

31 |
37 | 38 |

By setting an editor's height style 39 | to auto and giving 40 | the viewportMargin 41 | a value of Infinity, CodeMirror can be made to 42 | automatically resize to fit its content.

43 | 44 | 50 | 51 |
52 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/doc/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/codemirror/doc/logo.png -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/doc/yinyang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/codemirror/doc/yinyang.png -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/mode/asciiarmor/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | CodeMirror: ASCII Armor (PGP) mode 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 24 | 25 |
26 |

ASCII Armor (PGP) mode

27 |
36 | 37 | 42 | 43 |

MIME types 44 | defined: application/pgp, application/pgp-encrypted, application/pgp-keys, application/pgp-signature

45 | 46 |
47 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/mode/css/gss_test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://codemirror.net/LICENSE 3 | 4 | (function() { 5 | "use strict"; 6 | 7 | var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-gss"); 8 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "gss"); } 9 | 10 | MT("atComponent", 11 | "[def @component] {", 12 | "[tag foo] {", 13 | " [property color]: [keyword black];", 14 | "}", 15 | "}"); 16 | 17 | })(); 18 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/mode/cypher/test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://codemirror.net/LICENSE 3 | 4 | (function() { 5 | var mode = CodeMirror.getMode({tabSize: 4, indentUnit: 2}, "cypher"); 6 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } 7 | 8 | MT("unbalancedDoubledQuotedString", 9 | "[string \"a'b\"][variable c]"); 10 | 11 | MT("unbalancedSingleQuotedString", 12 | "[string 'a\"b'][variable c]"); 13 | 14 | MT("doubleQuotedString", 15 | "[string \"a\"][variable b]"); 16 | 17 | MT("singleQuotedString", 18 | "[string 'a'][variable b]"); 19 | 20 | MT("single attribute (with content)", 21 | "[node {][atom a:][string 'a'][node }]"); 22 | 23 | MT("multiple attribute, singleQuotedString (with content)", 24 | "[node {][atom a:][string 'a'][node ,][atom b:][string 'b'][node }]"); 25 | 26 | MT("multiple attribute, doubleQuotedString (with content)", 27 | "[node {][atom a:][string \"a\"][node ,][atom b:][string \"b\"][node }]"); 28 | 29 | MT("single attribute (without content)", 30 | "[node {][atom a:][string 'a'][node }]"); 31 | 32 | MT("multiple attribute, singleQuotedString (without content)", 33 | "[node {][atom a:][string ''][node ,][atom b:][string ''][node }]"); 34 | 35 | MT("multiple attribute, doubleQuotedString (without content)", 36 | "[node {][atom a:][string \"\"][node ,][atom b:][string \"\"][node }]"); 37 | })(); 38 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/mode/d/test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://codemirror.net/LICENSE 3 | 4 | (function() { 5 | var mode = CodeMirror.getMode({indentUnit: 2}, "d"); 6 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } 7 | 8 | MT("nested_comments", 9 | "[comment /+]","[comment comment]","[comment +/]","[variable void] [variable main](){}"); 10 | 11 | })(); 12 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/mode/diff/diff.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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 | CodeMirror.defineMode("diff", function() { 15 | 16 | var TOKEN_NAMES = { 17 | '+': 'positive', 18 | '-': 'negative', 19 | '@': 'meta' 20 | }; 21 | 22 | return { 23 | token: function(stream) { 24 | var tw_pos = stream.string.search(/[\t ]+?$/); 25 | 26 | if (!stream.sol() || tw_pos === 0) { 27 | stream.skipToEnd(); 28 | return ("error " + ( 29 | TOKEN_NAMES[stream.string.charAt(0)] || '')).replace(/ $/, ''); 30 | } 31 | 32 | var token_name = TOKEN_NAMES[stream.peek()] || stream.skipToEnd(); 33 | 34 | if (tw_pos === -1) { 35 | stream.skipToEnd(); 36 | } else { 37 | stream.pos = tw_pos; 38 | } 39 | 40 | return token_name; 41 | } 42 | }; 43 | }); 44 | 45 | CodeMirror.defineMIME("text/x-diff", "diff"); 46 | 47 | }); 48 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/mode/http/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | CodeMirror: HTTP mode 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 24 | 25 |
26 |

HTTP mode

27 | 28 | 29 |
39 | 40 | 43 | 44 |

MIME types defined: message/http.

45 |
46 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/mode/mbox/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | CodeMirror: mbox mode 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 24 | 25 |
26 |

mbox mode

27 |
38 | 41 | 42 |

MIME types defined: application/mbox.

43 | 44 |
45 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/mode/ruby/test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://codemirror.net/LICENSE 3 | 4 | (function() { 5 | var mode = CodeMirror.getMode({indentUnit: 2}, "ruby"); 6 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } 7 | 8 | MT("divide_equal_operator", 9 | "[variable bar] [operator /=] [variable foo]"); 10 | 11 | MT("divide_equal_operator_no_spacing", 12 | "[variable foo][operator /=][number 42]"); 13 | 14 | MT("complex_regexp", 15 | "[keyword if] [variable cr] [operator =~] [string-2 /(?: \\( #{][tag RE_NOT][string-2 }\\( | #{][tag RE_NOT_PAR_OR][string-2 }* #{][tag RE_OPA_OR][string-2 } )/][variable x]") 16 | })(); 17 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/mode/rust/test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: https://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 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/mode/spreadsheet/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | CodeMirror: Spreadsheet mode 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 25 | 26 |
27 |

Spreadsheet mode

28 |
29 | 30 | 37 | 38 |

MIME types defined: text/x-spreadsheet.

39 | 40 |

The Spreadsheet Mode

41 |

Created by Robert Plummer

42 |
43 | -------------------------------------------------------------------------------- /src/main/resources/static/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 | -------------------------------------------------------------------------------- /src/main/resources/static/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 | } -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/mode/twig/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | CodeMirror: Twig mode 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 24 | 25 |
26 |

Twig mode

27 |
40 | 45 |
46 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/theme/ambiance-mobile.css: -------------------------------------------------------------------------------- 1 | .cm-s-ambiance.CodeMirror { 2 | -webkit-box-shadow: none; 3 | -moz-box-shadow: none; 4 | box-shadow: none; 5 | } 6 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/theme/bespin.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Name: Bespin 4 | Author: Mozilla / Jan T. Sott 5 | 6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) 7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 8 | 9 | */ 10 | 11 | .cm-s-bespin.CodeMirror {background: #28211c; color: #9d9b97;} 12 | .cm-s-bespin div.CodeMirror-selected {background: #36312e !important;} 13 | .cm-s-bespin .CodeMirror-gutters {background: #28211c; border-right: 0px;} 14 | .cm-s-bespin .CodeMirror-linenumber {color: #666666;} 15 | .cm-s-bespin .CodeMirror-cursor {border-left: 1px solid #797977 !important;} 16 | 17 | .cm-s-bespin span.cm-comment {color: #937121;} 18 | .cm-s-bespin span.cm-atom {color: #9b859d;} 19 | .cm-s-bespin span.cm-number {color: #9b859d;} 20 | 21 | .cm-s-bespin span.cm-property, .cm-s-bespin span.cm-attribute {color: #54be0d;} 22 | .cm-s-bespin span.cm-keyword {color: #cf6a4c;} 23 | .cm-s-bespin span.cm-string {color: #f9ee98;} 24 | 25 | .cm-s-bespin span.cm-variable {color: #54be0d;} 26 | .cm-s-bespin span.cm-variable-2 {color: #5ea6ea;} 27 | .cm-s-bespin span.cm-def {color: #cf7d34;} 28 | .cm-s-bespin span.cm-error {background: #cf6a4c; color: #797977;} 29 | .cm-s-bespin span.cm-bracket {color: #9d9b97;} 30 | .cm-s-bespin span.cm-tag {color: #cf6a4c;} 31 | .cm-s-bespin span.cm-link {color: #9b859d;} 32 | 33 | .cm-s-bespin .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} 34 | .cm-s-bespin .CodeMirror-activeline-background { background: #404040; } 35 | -------------------------------------------------------------------------------- /src/main/resources/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, .cm-s-eclipse span.cm-type { 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 | -------------------------------------------------------------------------------- /src/main/resources/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 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/theme/isotope.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Name: Isotope 4 | Author: David Desandro / Jan T. Sott 5 | 6 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) 7 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 8 | 9 | */ 10 | 11 | .cm-s-isotope.CodeMirror {background: #000000; color: #e0e0e0;} 12 | .cm-s-isotope div.CodeMirror-selected {background: #404040 !important;} 13 | .cm-s-isotope .CodeMirror-gutters {background: #000000; border-right: 0px;} 14 | .cm-s-isotope .CodeMirror-linenumber {color: #808080;} 15 | .cm-s-isotope .CodeMirror-cursor {border-left: 1px solid #c0c0c0 !important;} 16 | 17 | .cm-s-isotope span.cm-comment {color: #3300ff;} 18 | .cm-s-isotope span.cm-atom {color: #cc00ff;} 19 | .cm-s-isotope span.cm-number {color: #cc00ff;} 20 | 21 | .cm-s-isotope span.cm-property, .cm-s-isotope span.cm-attribute {color: #33ff00;} 22 | .cm-s-isotope span.cm-keyword {color: #ff0000;} 23 | .cm-s-isotope span.cm-string {color: #ff0099;} 24 | 25 | .cm-s-isotope span.cm-variable {color: #33ff00;} 26 | .cm-s-isotope span.cm-variable-2 {color: #0066ff;} 27 | .cm-s-isotope span.cm-def {color: #ff9900;} 28 | .cm-s-isotope span.cm-error {background: #ff0000; color: #c0c0c0;} 29 | .cm-s-isotope span.cm-bracket {color: #e0e0e0;} 30 | .cm-s-isotope span.cm-tag {color: #ff0000;} 31 | .cm-s-isotope span.cm-link {color: #cc00ff;} 32 | 33 | .cm-s-isotope .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} 34 | .cm-s-isotope .CodeMirror-activeline-background { background: #202020; } 35 | -------------------------------------------------------------------------------- /src/main/resources/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 | -------------------------------------------------------------------------------- /src/main/resources/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 | -------------------------------------------------------------------------------- /src/main/resources/static/codemirror/theme/ssms.css: -------------------------------------------------------------------------------- 1 | .cm-s-ssms span.cm-keyword { color: blue; } 2 | .cm-s-ssms span.cm-comment { color: darkgreen; } 3 | .cm-s-ssms span.cm-string { color: red; } 4 | .cm-s-ssms span.cm-def { color: black; } 5 | .cm-s-ssms span.cm-variable { color: black; } 6 | .cm-s-ssms span.cm-variable-2 { color: black; } 7 | .cm-s-ssms span.cm-atom { color: darkgray; } 8 | .cm-s-ssms .CodeMirror-linenumber { color: teal; } 9 | .cm-s-ssms .CodeMirror-activeline-background { background: #ffffff; } 10 | .cm-s-ssms span.cm-string-2 { color: #FF00FF; } 11 | .cm-s-ssms span.cm-operator, 12 | .cm-s-ssms span.cm-bracket, 13 | .cm-s-ssms span.cm-punctuation { color: darkgray; } 14 | .cm-s-ssms .CodeMirror-gutters { border-right: 3px solid #ffee62; background-color: #ffffff; } 15 | .cm-s-ssms div.CodeMirror-selected { background: #ADD6FF; } 16 | 17 | -------------------------------------------------------------------------------- /src/main/resources/static/css/font.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'iconfont'; 3 | src: url('../fonts/iconfont.eot'); 4 | src: url('../fonts/iconfont.eot?#iefix') format('embedded-opentype'), 5 | url('../fonts/iconfont.woff') format('woff'), 6 | url('../fonts/iconfont.ttf') format('truetype'), 7 | url('../fonts/iconfont.svg#iconfont') format('svg'); 8 | } 9 | .iconfont{ 10 | font-family:"iconfont" !important; 11 | font-size:16px;font-style:normal; 12 | -webkit-font-smoothing: antialiased; 13 | -webkit-text-stroke-width: 0.2px; 14 | -moz-osx-font-smoothing: grayscale; 15 | } 16 | 17 | -------------------------------------------------------------------------------- /src/main/resources/static/css/main.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/resources/static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/favicon.png -------------------------------------------------------------------------------- /src/main/resources/static/fonts/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/fonts/iconfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/fonts/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/fonts/iconfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/fonts/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/fonts/iconfont.woff -------------------------------------------------------------------------------- /src/main/resources/static/images/aiwrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/images/aiwrap.png -------------------------------------------------------------------------------- /src/main/resources/static/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/images/bg.png -------------------------------------------------------------------------------- /src/main/resources/static/js/layerAjaxMsg/default.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ajax请求错误处理的默认方式(通过Layer抛出问题) 3 | */ 4 | //初始化Ajax 5 | H.errorFun = function(res){ 6 | layui.use('form', function() { 7 | var layer = layui.layer; 8 | var msg; 9 | if(res.code == 'NGINX_WORK_EXCEPTION'){ 10 | msg = "操作失败"; 11 | }else if(res.code == 'SERVER_ERROR'){ 12 | msg = "内部错误"; 13 | }else if(res.code == 'VALI_ERROR'){ 14 | msg = "参数错误"; 15 | }else{ 16 | //msg = "未知错误"; 17 | if(res.message){ 18 | layer.msg(res.message); 19 | }else{ 20 | layer.msg("未知错误"); 21 | } 22 | return; 23 | } 24 | msg += "," + res.message; 25 | layer.msg(msg); 26 | }); 27 | }; -------------------------------------------------------------------------------- /src/main/resources/static/js/main.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 后台主框架 3 | */ 4 | $(function(){ 5 | 6 | window.hTab = Htab.init({ 7 | div:$(".layui-body")[0], 8 | width:"100%", 9 | height:"calc(100% - 500px)" 10 | }); 11 | hTab.addDefault("sys/status/", "sys/status/", "服务器状态"); 12 | 13 | $(".layui-side .layui-side-scroll .layui-nav .layui-nav-item a").click(function(){ 14 | var link = $(this).attr("link"); 15 | if(link){ 16 | hTab.open(link, link, $(this).text()); 17 | } 18 | }); 19 | }); -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/htab/css/default.css: -------------------------------------------------------------------------------- 1 | .hui-tab{ 2 | display: block; 3 | min-height: 100%; 4 | padding:0; 5 | } 6 | .hui-tab-list{ 7 | margin:0; 8 | padding:0; 9 | list-style-type:none; 10 | background-color: #333; 11 | height: 44px; 12 | } 13 | .hui-tab-list li.active{ 14 | border-bottom: #32CD32 solid 3px; 15 | } 16 | .hui-tab-list li{ 17 | display: inline-block; 18 | color: white; 19 | padding: 10px; 20 | border-bottom: #333 solid 3px; 21 | transition: 0.7s; 22 | cursor: pointer; 23 | -moz-transition: 0.7s; /* Firefox 4 */ 24 | -webkit-transition: 0.7s; /* Safari 鍜� Chrome */ 25 | -o-transition: 0.7s; /* Opera */ 26 | } 27 | .hui-tab-list li .close{ 28 | height: 16px; 29 | width: 16px; 30 | border-radius: 8px; 31 | background-color: gray; 32 | color: white; 33 | display: inline-block; 34 | padding: 0; 35 | line-height: 16px; 36 | text-align: center; 37 | visibility:hidden; 38 | opacity:0; 39 | cursor: pointer; 40 | transition: 0.3s; 41 | -moz-transition: 0.3s; /* Firefox 4 */ 42 | -webkit-transition: 0.3s; /* Safari 鍜� Chrome */ 43 | -o-transition: 0.3s; /* Opera */ 44 | } 45 | .hui-tab-list li .close:hover{ 46 | background-color: #32CD32; 47 | } 48 | .hui-tab-list li:hover{ 49 | border-bottom: #32CD32 solid 3px; 50 | } 51 | .hui-tab-list li:hover .close{ 52 | visibility: visible; 53 | opacity:1; 54 | } 55 | .hui-tab .hui-tab-content{ 56 | height: calc(100% - 53px); 57 | } 58 | .hui-tab .hui-tab-content iframe{ 59 | width: 100%; 60 | height: 100%; 61 | /*display: block;*/ 62 | border: none; 63 | } 64 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/layer-v3.1.1/layer/theme/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layer-v3.1.1/layer/theme/default/icon-ext.png -------------------------------------------------------------------------------- /src/main/resources/static/lib/layer-v3.1.1/layer/theme/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layer-v3.1.1/layer/theme/default/icon.png -------------------------------------------------------------------------------- /src/main/resources/static/lib/layer-v3.1.1/layer/theme/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layer-v3.1.1/layer/theme/default/loading-0.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layer-v3.1.1/layer/theme/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layer-v3.1.1/layer/theme/default/loading-1.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layer-v3.1.1/layer/theme/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layer-v3.1.1/layer/theme/default/loading-2.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layer-v3.1.1/文档/jquery下载.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,2 3 | [InternetShortcut] 4 | URL=http://code.jquery.com/jquery-1.11.3.min.js 5 | IDList= 6 | HotKey=0 7 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/layer-v3.1.1/文档/layer官网.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,2 3 | [InternetShortcut] 4 | URL=http://layer.layui.com/ 5 | IDList= 6 | HotKey=0 7 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/layer-v3.1.1/文档/layer文档.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,2 3 | [InternetShortcut] 4 | URL=http://www.layui.com/doc/modules/layer.html 5 | IDList= 6 | HotKey=0 7 | IconIndex=0 8 | IconFile=C:\Program Files (x86)\Google\Chrome\Application\chrome.exe 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/layer-v3.1.1/文档/layui社区.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,2 3 | [InternetShortcut] 4 | URL=http://fly.layui.com/ 5 | IDList= 6 | HotKey=0 7 | IconIndex=0 8 | IconFile=C:\Program Files (x86)\Google\Chrome\Application\chrome.exe 9 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/layer-v3.1.1/文档/获得layim.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,2 3 | [InternetShortcut] 4 | URL=http://layim.layui.com/?from=icon 5 | IDList= 6 | HotKey=0 7 | -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.0.2 MIT License By http://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/font/iconfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/font/iconfont.woff -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/0.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/1.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/10.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/11.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/12.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/13.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/14.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/15.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/16.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/17.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/18.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/19.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/2.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/20.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/21.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/22.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/23.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/24.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/25.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/26.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/27.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/28.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/29.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/3.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/30.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/31.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/32.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/33.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/34.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/35.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/36.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/37.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/38.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/39.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/4.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/40.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/41.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/42.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/43.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/44.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/45.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/46.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/47.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/48.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/49.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/5.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/50.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/51.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/52.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/53.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/54.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/55.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/56.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/57.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/58.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/59.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/6.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/60.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/61.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/62.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/63.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/64.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/65.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/66.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/67.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/68.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/69.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/7.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/70.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/71.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/8.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/static/lib/layui/images/face/9.gif -------------------------------------------------------------------------------- /src/main/resources/static/lib/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.0.2 MIT License By http://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/README.md -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/css/font.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'iconfont'; 3 | src: url('../fonts/iconfont.eot'); 4 | src: url('../fonts/iconfont.eot?#iefix') format('embedded-opentype'), 5 | url('../fonts/iconfont.woff') format('woff'), 6 | url('../fonts/iconfont.ttf') format('truetype'), 7 | url('../fonts/iconfont.svg#iconfont') format('svg'); 8 | } 9 | .iconfont{ 10 | font-family:"iconfont" !important; 11 | font-size:16px;font-style:normal; 12 | -webkit-font-smoothing: antialiased; 13 | -webkit-text-stroke-width: 0.2px; 14 | -moz-osx-font-smoothing: grayscale; 15 | } 16 | 17 | -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/fonts/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/fonts/iconfont.eot -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/fonts/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/fonts/iconfont.ttf -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/fonts/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/fonts/iconfont.woff -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/images/aiwrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/images/aiwrap.png -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/images/bg.png -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.0.2 MIT License By http://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/font/iconfont.eot -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/font/iconfont.woff -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/0.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/1.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/10.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/11.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/12.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/13.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/14.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/15.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/16.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/17.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/18.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/19.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/2.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/20.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/21.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/22.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/23.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/24.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/25.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/26.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/27.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/28.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/29.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/3.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/30.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/31.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/32.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/33.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/34.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/35.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/36.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/37.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/38.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/39.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/4.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/40.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/41.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/42.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/43.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/44.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/45.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/46.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/47.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/48.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/49.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/5.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/50.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/51.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/52.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/53.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/54.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/55.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/56.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/57.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/58.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/59.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/6.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/60.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/61.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/62.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/63.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/64.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/65.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/66.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/67.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/68.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/69.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/7.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/70.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/71.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/8.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/onlyGuo/nginx-gui/2f172be9ac3a80dbda253c6e17296b82cc1bc38b/src/main/resources/templates/X-admin/lib/layui/images/face/9.gif -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/lib/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.0.2 MIT License By http://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /src/main/resources/templates/X-admin/user.json: -------------------------------------------------------------------------------- 1 | {"code":0,"msg":"","count":1000,"data":[{"id":10000,"username":"user-0","sex":"女","city":"城市-0","sign":"签名-0","experience":255,"logins":24,"wealth":82830700,"classify":"作家","score":57},{"id":10001,"username":"user-1","sex":"男","city":"城市-1","sign":"签名-1","experience":884,"logins":58,"wealth":64928690,"classify":"词人","score":27},{"id":10002,"username":"user-2","sex":"女","city":"城市-2","sign":"签名-2","experience":650,"logins":77,"wealth":6298078,"classify":"酱油","score":31},{"id":10003,"username":"user-3","sex":"女","city":"城市-3","sign":"签名-3","experience":362,"logins":157,"wealth":37117017,"classify":"诗人","score":68},{"id":10004,"username":"user-4","sex":"男","city":"城市-4","sign":"签名-4","experience":807,"logins":51,"wealth":76263262,"classify":"作家","score":6},{"id":10005,"username":"user-5","sex":"女","city":"城市-5","sign":"签名-5","experience":173,"logins":68,"wealth":60344147,"classify":"作家","score":87},{"id":10006,"username":"user-6","sex":"女","city":"城市-6","sign":"签名-6","experience":982,"logins":37,"wealth":57768166,"classify":"作家","score":34},{"id":10007,"username":"user-7","sex":"男","city":"城市-7","sign":"签名-7","experience":727,"logins":150,"wealth":82030578,"classify":"作家","score":28},{"id":10008,"username":"user-8","sex":"男","city":"城市-8","sign":"签名-8","experience":951,"logins":133,"wealth":16503371,"classify":"词人","score":14}]} -------------------------------------------------------------------------------- /src/main/resources/templates/admin/doc/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 说明文档 6 | 7 | 8 |

欢迎使用Nginx-GUI v1.0

9 |

博客:http://bl.321aiyi.com

10 |

贡献人员列表

11 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/main/resources/templates/admin/info/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 系统信息 6 | 7 | 8 |

系统信息

9 |

WIP

10 | 11 | -------------------------------------------------------------------------------- /src/main/resources/templates/admin/user/repwd.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 修改密码 6 | 7 | 8 |

修改密码

9 |

WIP

10 | 11 | -------------------------------------------------------------------------------- /src/test/java/com/aiyi/server/manager/nginx/NginxManagerApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.aiyi.server.manager.nginx; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest 10 | public class NginxManagerApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { 14 | } 15 | 16 | } 17 | --------------------------------------------------------------------------------