Compare commits

..

93 Commits
8.0beta ... 8.0

Author SHA1 Message Date
mattpass
d4c4911ead Cache bust README image 2020-11-22 16:02:43 +00:00
mattpass
21d06d5859 Version 8.0 2020-11-22 15:58:36 +00:00
mattpass
361681714b Torres theme tweak 2020-11-22 15:10:24 +00:00
mattpass
4b923dfd7e Format tweaks to cMonPaste function 2020-11-22 15:08:20 +00:00
mattpass
dccfd0a616 Fix comment for bug reporting screen 2020-11-17 17:00:37 +00:00
mattpass
e259946dcc Highlight chmod text in README, id not needed 2020-11-17 17:00:15 +00:00
mattpass
a7e1bb53a3 bug-report lang pieces added to lang files 2020-11-17 16:59:40 +00:00
mattpass
0b75351b1f Remove void return type, not avail till PHP 7.1 2020-10-26 16:44:35 +00:00
mattpass
1ccf01bfc0 No need to double output prompt if no arg for cd 2020-10-23 11:13:23 +01:00
mattpass
9b881cf774 Set cwd in session initially and chdir to it always 2020-10-23 11:09:51 +01:00
mattpass
c3c829ec3d Fix with of command to 99% 2020-10-23 11:08:18 +01:00
mattpass
362bbf5c5d Code tidy in terminal.php 2020-10-23 10:38:09 +01:00
mattpass
c19503ba78 Minor tidy in index.php and updater.php 2020-10-23 10:20:55 +01:00
mattpass
9e68bb9d72 Typo fixes in README.md 2020-10-23 09:39:53 +01:00
mattpass
536ddde998 Tweak to position of arrow on fold marker 2020-10-23 09:39:41 +01:00
mattpass
d89d01e46e iceLoc added to path for image in tutorial 2020-10-06 17:24:02 +01:00
mattpass
876a6ab0ef Wider box for system info when viewing tutorial 2020-10-06 17:19:23 +01:00
mattpass
a3e5b7925a ICE root only shown now, default also, display versions 2020-10-06 17:18:50 +01:00
mattpass
1e01e783ca Display git commit hash as link, remove GG 2020-10-06 17:12:04 +01:00
mattpass
f77f02e11f version and cM version added to all langs for editor 2020-10-06 17:06:00 +01:00
mattpass
818b9e9a71 Code tidy in editor.php and files.php 2020-10-06 14:28:59 +01:00
mattpass
1ab4ae0094 Taller viewable area for system info 2020-10-06 14:16:48 +01:00
mattpass
ca39d31f0e Tidy, no space after v, less PHP, nicer system display, remove old game DIV container 2020-10-06 14:12:51 +01:00
mattpass
352c8c1a3a No space after v when displaying version 2020-10-06 14:10:20 +01:00
mattpass
3273d9fd2c Move activeLineBG out of if, no space after v 2020-10-06 14:09:41 +01:00
Matt Pass
034f1158cd Remove surplus line in README.md 2020-10-06 05:53:15 +01:00
Matt Pass
109859c393 Line breaks needed in licence 2020-10-06 05:48:13 +01:00
Matt Pass
9c5382134b Exit instead 2020-10-06 05:43:22 +01:00
Matt Pass
75534a047e Exit instead 2020-10-06 05:42:44 +01:00
mattpass
940489688d Tweaks on tutorial display incl settings show if tabs open 2020-10-05 16:56:01 +01:00
mattpass
d78821a4dc 4 x functions tidied in icecoder.js 2020-10-05 16:24:47 +01:00
mattpass
8322e0b3fe Revised jumpToDefinition 2020-10-05 16:02:21 +01:00
mattpass
14e22568a2 Fixes and code tidying on interceptKeys 2020-10-04 09:56:46 +01:00
mattpass
1bc0ac1ec5 Shorter version of key identifying via null coalescing 2020-10-04 08:59:15 +01:00
mattpass
d3b3715384 Auto-indent lines on move line(s) should be in same operation 2020-10-04 08:56:25 +01:00
mattpass
b574ce0e6c Auto-indent lines you're pasting or moving 2020-10-04 08:48:04 +01:00
mattpass
6d120cc7b9 Always auto-open files if that's the setting, let not var in snippet 2020-10-03 12:40:11 +01:00
mattpass
107c0b53c7 Upate README.md with new setup info 2020-10-02 20:17:02 +01:00
mattpass
afd0c02ff6 Remove tipsOnLogin, add 2 x help links 2020-10-02 20:02:00 +01:00
mattpass
9fbb393013 Comment tidying on interceptKeys 2020-09-27 12:32:16 +01:00
mattpass
d4fa50cdf3 More logic and code tidying improvements on interceptKeys 2020-09-27 12:18:58 +01:00
mattpass
809a1ad197 Minor tidy on prev commit 2020-09-27 11:56:22 +01:00
mattpass
5a660f7810 First round of updates on interceptKeys 2020-09-27 11:30:58 +01:00
mattpass
0e45263fad Code tidy on sort and alpha tab functions 2020-09-27 09:53:49 +01:00
mattpass
f8a2c2a926 Tidy logic on tab drag start, move and end 2020-09-27 09:31:46 +01:00
mattpass
ea14b8bbbb Remove canSwitchTabs bool, reduce selectedTab if closing to left of it, use renameTab 2020-09-27 08:53:25 +01:00
mattpass
e52cf8edf9 Tweaks to onmousedown logic on tabs 2020-09-27 08:51:19 +01:00
mattpass
494be783b9 Combine 2 x transition properties 2020-09-26 10:32:38 +01:00
mattpass
d884c2ed11 Don't switch tab if closing another tab 2020-09-26 09:59:37 +01:00
mattpass
cfbd11d8de setTabWidths code tidy & tweaks 2020-09-26 09:36:38 +01:00
mattpass
1c81aab339 Code tweaks to close tab functionality 2020-09-26 09:23:54 +01:00
mattpass
60496c9fb0 Remove Snake game 2020-09-26 08:43:12 +01:00
mattpass
c2647bc23a Prefix terminal XHR endpoint with iceLoc 2020-09-26 08:33:39 +01:00
mattpass
74fcd33c97 Add demo mode indicator to panes 2020-09-26 08:33:12 +01:00
mattpass
8770f6fe58 Demo mode text added for all langs 2020-09-26 08:32:05 +01:00
mattpass
25b50a97f3 getDemoModeIndicator func added 2020-09-26 08:31:38 +01:00
mattpass
e0b7be3a25 Add missing div tag, fix CSS, add demo mode indicator 2020-09-26 08:30:53 +01:00
mattpass
fabed98033 iceLoc now part of ICEcoder object 2020-09-26 08:30:02 +01:00
mattpass
b702a9c31c Extra escaping needed to show new line in alert msg 2020-09-21 16:58:04 +01:00
mattpass
03ca02c4fd Some tab format & logic improvements 2020-09-20 10:29:30 +01:00
mattpass
af57283d0a Updates to print and indicate changes in browser tab 2020-09-20 10:05:07 +01:00
mattpass
374178ad14 Format updates on some core functions in icecoder.js 2020-09-20 09:57:42 +01:00
mattpass
3d82bfc227 Updated useNewSettings function code a little 2020-09-20 09:13:44 +01:00
mattpass
373b1eb645 Fix updating font size in file manager 2020-09-20 09:01:08 +01:00
mattpass
73aaabba8f Line heights and borders removed from themes 2020-09-20 08:51:41 +01:00
mattpass
e9fa15984c Removed some font attributes from new themes 2020-09-20 08:42:51 +01:00
mattpass
af6a3bce61 Improve casing on theme names 2020-09-19 12:08:22 +01:00
mattpass
bc4532f76e Remove font-size and gutter padding right from themes, re-add font size changing 2020-09-19 11:44:50 +01:00
mattpass
01dfbac81a Merge branch 'master' of github.com:icecoder/icecoder into master 2020-09-19 11:20:55 +01:00
mattpass
432837a72c 38 new themes added, 4 opt groups, ucwords 2020-09-19 11:20:45 +01:00
mattpass
c4e52e0edc Removed 4 x themes, sorted light/dark, settings object 2020-09-19 10:06:40 +01:00
Matt Pass
15969b44cc chown to set owner & group 2020-09-13 21:30:24 +01:00
mattpass
080fef30a4 Use CM's own methods for get cursor pos & num 2020-09-13 10:06:24 +01:00
mattpass
a170e5e6a0 Code tidy on server queue and modals 2020-09-13 09:47:35 +01:00
mattpass
6cbbf6674c Remove 2 x test SVGs, bool param passed 2020-09-13 09:44:17 +01:00
mattpass
8a138538a3 Updates & fixes re color picker & eyedropper 2020-09-13 08:35:34 +01:00
mattpass
ed1515d008 Merge branch 'master' of github.com:icecoder/icecoder into master 2020-09-12 08:13:11 +01:00
mattpass
0bb81ea3a7 composer.json added 2020-09-12 08:12:59 +01:00
Matt Pass
77a0182f69 Exit early on running server tasks if no .git dir 2020-09-03 11:43:07 +01:00
mattpass
1064d2708b true should be false when checking IP config exists 2020-09-03 11:15:02 +01:00
mattpass
4c7c7ee874 getPathName needed on object in 1st param 2020-09-03 10:16:26 +01:00
mattpass
e27318c825 Bug report tidy up 2020-08-23 09:41:05 +01:00
mattpass
cd352c8a0c Tweaks to bug reporting 2020-08-23 09:28:03 +01:00
mattpass
53cdbad35b Updated bug report system 2020-08-23 09:11:40 +01:00
mattpass
5343efd57f Remove 4 x icons from settings screen 2020-08-23 07:51:11 +01:00
mattpass
c99f78a0f2 Icons for sections 2020-08-17 11:46:45 +01:00
mattpass
e253ff059e Icons added for tools, hover states added 2020-08-17 11:19:56 +01:00
mattpass
1d8cfafb62 Icons added 2020-08-17 10:56:19 +01:00
mattpass
b5b6b92204 Close icon added for 4 x tools 2020-08-13 12:26:32 +01:00
mattpass
fbe19fc431 Shows caps lock warning icon on login screen now 2020-08-13 11:35:57 +01:00
mattpass
2df787655d Only open file if not a dir ondblclick 2020-08-13 10:20:09 +01:00
mattpass
35bcb14d8d Handle tooltip clash 2020-07-23 21:04:57 +01:00
mattpass
611556b5fe Display first line from version not num incase beta 2020-07-23 19:54:27 +01:00
122 changed files with 3638 additions and 1397 deletions

View File

@@ -1,6 +1,9 @@
Copyright: © 2020 ICEcoder Ltd
Website: icecoder.net
Website: icecoder.net
Email: info@icecoder.net
Twitter: @icecoder
# ICEcoder License

View File

@@ -1,10 +1,10 @@
# ICEcoder
## Web IDE / browser code editor awesomeness
## Code editor awesomeness ...in your browser
ICEcoder is a web IDE / browser based code editor, which allows you to develop websites directly within the web browser. It uses the brilliant CodeMirror for code highlighting & editing, with a slick IDE wrapped around it to make the whole thing work.
ICEcoder is a browser based code editor, which provides a modern approach to building websites. By allowing you to code directly within the web browser, online or offline, it means you only need one program (your browser) to develop sites, plus can test on actual web servers. After development, you can also maintain the website easily, all of which make for speedy and smart development.
<img src="https://icecoder.net/images/icecoder-v8-0-beta-browser-code-editor.png" alt="ICEcoder web IDE">
<img src="https://icecoder.net/images/icecoder-v8-0-browser-code-editor.png?cachebust" alt="ICEcoder code editor">
### Requirements
@@ -14,29 +14,40 @@ You can run ICEcoder either online or locally, on Linux, Windows or Mac based pl
#### Step 1: Get ICEcoder
Either download the zip or clone from Github using:
Either download the zip or clone from Github into your wwwroot (document root) dir for your website (this is typically `/var/www/html/`) via:
```
$ git clone git://github.com/icecoder/ICEcoder
$ git clone git@github.com:icecoder/icecoder /var/www/html/icecoder
```
#### Step 2: Place in your document root (online or local)
#### Step 2: Set permissions on dirs & files
* Put in a new sub-dir URL such as yourdomain.com/ICEcoder or localhost/ICEcoder
* Set write permissions (757 or 775 depending on your system) on the 'data', 'lib', 'plugins' and 'tmp' folders
You'll need to ensure both the ICEcoder dir and the wwwroot dir have permissions to read, write and execute. This can be done by changing permissions (using `chmod`), but it it safer and so better, to use `chown`:
*(Note: A small number of web servers give an internal server error here, if you get this, try 755 instead)*
`chown -R www-data.www-data /var/www/html`
This will recursively set the `www-data` user as both the owner and group users for files on the `/var/www/html` dir (which ICEcoder dir is of course inside of, at say `/var/www/html/ICEcoder`).
#### Step 3: Start coding
* Visit the sub-dir URL in your browser and enter a password
Now you can visit `yoursite.com/ICEcoder` to view ICEcoder, sign in and start coding!
**Now you're setup, auto-logged in and ready to code!**
#### Tip: If using ICEcoder locally, you can use:
Suitable for commercial & non-commercial projects, just let me know if it's useful to you and any cool customisations you make to it. I take no responsibility for anything, all usage is all down to you.
`php -S localhost:8080`
It's fully open source and MIT licensed. I'm happy for you to take it, make it your own and customise to your hearts content and/or contribute to this main repo! :)
...to get PHP to start a simple web server. You can then visit `localhost:8080/ICEcoder`
Plenty of comments included in the code to assist with understanding, customising etc.
#### Want to setup in other environments?
It's now possible to setup ICEcoder in a Docker container, via Composer, as an executable and more. Checkout https://icecoder.net/downloads for info on these setups!
#### It's free & open source for everyone!
Suitable for commercial & non-commercial projects, just let us know if it's useful to you and any cool customizations you make to it. We take no responsibility for anything, all usage is all down to you.
It's fully open source and MIT licensed. So we're happy for you to take it, make it your own and customize to your hearts content and/or contribute to this main repo! :)
Plenty of comments included in the code to assist with understanding, customizing etc.
Comments, improvements & feedback welcomed!

10
assets/css/bug-report.css Normal file
View File

@@ -0,0 +1,10 @@
body {overflow: hidden;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
h1 {font-size: 36px; font-weight: normal; color: #888; margin-bottom: 20px}
.bug-report {background-color: #1c1c19; color: #fff; padding: 20px}
pre {font-family: monospace}

View File

@@ -10,9 +10,15 @@ body {margin: 0; overflow: auto;
user-select: none;
}
.lock {position: fixed; display: inline-block; width: 12px; height: 16px; background: url('../images/file-manager-icons.png') 0 0 no-repeat; right: 0; margin-right: 16px; top: 0; cursor: pointer}
.refresh {position: fixed; display: inline-block; width: 14px; height: 14px; background: url('../images/file-manager-icons.png') -32px 0 no-repeat; right: 0; margin-right: 15px; top: 25px; cursor: pointer}
.plugins {position: fixed; display: inline-block; width: 16px; height: 16px; background: url('../images/file-manager-icons.png') -64px 0 no-repeat; right: 0; margin-right: 15px; top: 47px; cursor: pointer}
.lock {position: fixed; display: inline-block; width: 12px; height: 16px; right: 0; margin-right: 16px; top: 0; color: #666; cursor: pointer}
.lock:hover {color: #fff; cursor: pointer}
.lock .icon-tabler {width: 22px; height: 22px; margin-left: -5px; margin-top: 0; stroke-width: 1.25; pointer-events: none}
.refresh {position: fixed; display: inline-block; width: 14px; height: 14px; right: 0; margin-right: 15px; top: 34px; color: #666; cursor: pointer}
.refresh:hover {color: #fff; cursor: pointer}
.refresh .icon-tabler {width: 20px; height: 20px; margin-left: -3px; margin-top: -3px; stroke-width: 1.25; transform: rotate(180deg); pointer-events: none}
.plugins {position: fixed; display: inline-block; width: 16px; height: 16px; right: 0; margin-right: 15px; top: 61px; color: #666; cursor: pointer}
.plugins:hover {color: #fff; cursor: pointer}
.plugins .icon-tabler {width: 24px; height: 24px; margin-left: -3px; margin-top: -3px; stroke-width: 1.25; pointer-events: none}
.fmDragBox {position: absolute; display: inline-block; width: 0; height: 0; top: 0; left: 0; background: rgba(0,198,255,0.3);
-webkit-user-select: none;
-moz-user-select: none;

View File

@@ -9,6 +9,7 @@ body {overflow: hidden;
h1 {font-size: 36px; font-weight: normal; color: #888; margin-bottom: 20px}
h2 {font-size: 18px; font-weight: normal; color: #fff}
.icon-tabler {width: 24px; height: 24px; stroke-width: 1.25}
.blackMask {position: fixed; display: table; width: 100%; height: 100%; top: 0; left: 0; visibility: hidden; background-color: rgba(0,0,0,0.8); text-align: center; z-index: 100}
.blackMask .popupVCenter {#position: absolute; display: table-cell; #top: 50%; vertical-align: middle; text-align: center}
.popupVCenter .popup {#position: relative; #top: -50%; text-align: center; color: #fff; font-size: 10px}
@@ -68,6 +69,7 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
.files .tools {position: absolute; display: inline-block; width: 250px; height: 30px; left: 0; bottom: 0}
.files .tools div {display: inline-block; margin: 8px 0 8px 15px; color: #666; cursor: pointer}
.files .tools div:hover {color: #fff; cursor: pointer}
.files .tools .icon-tabler {width: 22px; height: 22px; margin-left: -3px; margin-top: -3px; stroke-width: 1.25; pointer-events: none}
.files .tools .highlight {color: #eee; padding: 1px 3px; margin: 7px -3px 7px 12px; border-radius: 3px}
.files .tools .error {background: #800}
.files .tools .info {background: #080}
@@ -75,8 +77,7 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
.editor {position: absolute; display: inline-block; top: 0; left: 15px; width: 2400px}
.editor .tabsBar {display: inline-block; height: 27px; width: 2400px; margin-top: 15px; padding-left: 53px; background: #fff}
.tabsBar .tab {position: absolute; display: none; height: 15px; padding: 6px 8px 6px 9px; border-right: 1px solid #ddd; color: #fff; white-space: nowrap; overflow: hidden; cursor: pointer; z-index: 1;
transition: width 0.15s ease-in-out;
transition: left 0.15s ease-in-out;
transition: width, left 0.15s ease-in-out;
}
.tabsBar .tab:before {
position: absolute; width: 16px; height: 16px; content: ""; margin-left: -2px; background:url('../images/file-folder-icons.png') no-repeat 0 0; background-position: -32px 0;
@@ -117,26 +118,34 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
.findBar .goLine {position: fixed; display: inline-block; width: 120px; right: 65px; top: 49px; height: 21px; font-size: 10px; color: #eee; cursor: default; z-index: 1}
.goLine .goToLine {width: 50px; height: 28px; border: 0; font-size: 12px; margin: -7px 0 0 3px; padding-left: 4px; background: #333; color: #eee}
.findReplace input:focus, .goLine .goToLine:focus {outline: none; background: rgba(0,198,255,0.5); color: #fff}
.findBar .view {position: fixed; display: inline-block; width: 16px; height: 16px; right: 40px; top: 49px; background: url('../images/file-manager-icons.png') 0 0 no-repeat; cursor: pointer; background-position: -48px 0; opacity: 0.3}
.findBar .bug {position: fixed; display: inline-block; width: 16px; height: 16px; right: 15px; top: 48px; background: url('../images/bug-reporting-icons.png') 0 0 no-repeat; cursor: pointer; background-position: 0 0}
.findBar .view {position: fixed; display: inline-block; width: 16px; height: 16px; right: 40px; top: 49px; color: #888; cursor: pointer; opacity: 0.3}
.findBar .view:hover {color: #fff; cursor: pointer}
.findBar .view .icon-tabler {width: 22px; height: 22px; margin-left: -3px; margin-top: -3px; stroke-width: 1.25; pointer-events: none}
.findBar .bug {position: fixed; display: inline-block; width: 16px; height: 16px; right: 15px; top: 49px; color: #404040; cursor: pointer}
.findBar .bug:hover {color: #fff; cursor: pointer}
.findBar .bug .icon-tabler {width: 23px; height: 23px; margin-left: -3px; margin-top: -4px; stroke-width: 1.25; pointer-events: none}
.editor .terminal {position: fixed; top: 10000px; transition: top 0.2s ease; z-index: 2}
.editor .output {position: fixed; top: 10000px; padding: 15px 18px 8px 13px; transition: top 0.2s ease; background: rgba(0,0,0,0.92); z-index: 2}
.editor .output {position: fixed; top: 10000px; padding: 15px 18px 8px 13px; transition: top 0.2s ease; background: rgba(0,0,0,0.92); color: #eee; z-index: 2}
.editor .database {position: fixed; top: 10000px; transition: top 0.2s ease; z-index: 2}
.editor .git {position: fixed; top: 10000px; padding: 15px 18px 15px 13px; overflow-y: auto; transition: top 0.2s ease; background: rgba(0,0,0,0.92); z-index: 2}
.editor .git {position: fixed; top: 10000px; padding: 15px 18px 15px 13px; overflow-y: auto; transition: top 0.2s ease; background: rgba(0,0,0,0.92); color: #eee; z-index: 2}
.editor .git::-webkit-scrollbar {width: 12px; height: 12px}
.editor .git::-webkit-scrollbar-thumb {background: rgba(0,198,255,0.2)}
.editor .git::-webkit-scrollbar-thumb:hover {background: rgba(0,198,255,0.8)}
.editor .git::-webkit-scrollbar-corner, .editor .git::-webkit-scrollbar-resizer {background: transparent}
.editor .git .link {font-family: monospace; cursor: pointer}
.editor .git .link:hover {color: rgba(0,198,255,1)}
.editor .code {position: relative; display: inline-block; top: 28px; width: 600px; height: 600px; visibility: hidden}
.editor .code {position: relative; display: inline-block; width: 600px; height: 600px; visibility: hidden}
.footer {position: fixed; display: inline-block; width: 100%; height: 30px; bottom: 0; background-color: rgba(0,0,0,0.15); left: 0; z-index: 1}
.footer .versionsDisplay {position: absolute; display: inline-block; padding: 5px; margin-top: 3px; left: 275px; color: #fff; transition: opacity 0.2s; z-index: 2; cursor: pointer}
.footer .serverMessage {position: absolute; display: inline-block; padding: 5px; margin-top: 3px; left: 275px; color: #fff; transition: opacity 0.2s; z-index: 1}
.footer .splitPaneControls {position: absolute; display: inline-block; width: 50px; text-align: center; padding: 6px}
.footer .splitPaneControls .off {display: inline-block; width: 18px; height: 18px; margin-right: 10px; background: url('../images/split-pane-controls.gif') no-repeat 0 0; cursor: pointer}
.footer .splitPaneControls .on {display: inline-block; width: 19px; height: 18px; background: url('../images/split-pane-controls.gif') no-repeat -18px 0; cursor: pointer}
.footer .splitPaneControls .off {display: inline-block; width: 18px; height: 18px; margin-right: 10px; color: #888; cursor: pointer}
.footer .splitPaneControls .off:hover {color: #fff; cursor: pointer}
.footer .splitPaneControls .off .icon-tabler {margin-left: -3px; margin-top: -3px; stroke-width: 1.25; pointer-events: none}
.footer .splitPaneControls .on {display: inline-block; width: 19px; height: 18px; color: #888; cursor: pointer}
.footer .splitPaneControls .off:hover {color: #fff; cursor: pointer}
.footer .splitPaneControls .on .icon-tabler {margin-left: -3px; margin-top: -3px; stroke-width: 1.25; pointer-events: none}
.footer .splitPaneNames {position: absolute; display: inline-block; width: 100px; text-align: center; margin-top: 9px; color: #555; opacity: 0; transition: opacity 0.3s ease-in-out}
.footer .charDisplay, .footer .byteDisplay {position: absolute; display: inline-block; padding: 5px 0 0 8px; margin-top: 3px; margin-right: 10px; right: 0; font-size: 12px; color: #fff; text-align: right; text-align: right; cursor: pointer}
@@ -148,6 +157,8 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
.fileMenu hr {border: 0; height: 1px; padding: 0; margin: 0; background: #444}
.tooltip {position: absolute; top: 0; left: 0; padding: 5px; background: #444; color: #bbb}
.closeIcon {position: fixed; display: inline-block; top: 10px; right: 10px; width: 24px; height: 24px; color: #888; cursor: pointer; z-index: 101}
.closeIcon:hover {color: #ddd}
.screenContainer {position: absolute; display: table; width: 100%; height: 100%; top: 0; left: 0; text-align: center}
.screenContainer .screenVCenter {#position: absolute; display: table-cell; #top: 50%; vertical-align: middle; text-align: center}
@@ -160,3 +171,4 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
.screenCenter .password:focus {outline: none; background: rgba(0,198,255,0.5); color: #fff}
.screenCenter .button {border: 0; background: #444; color: #eee; height: 22px; cursor: pointer}
.screenCenter .button:hover {background: #2187e7; color: #eee}
.screenCenter .iconCapsLock {position: absolute; margin-left: 2px; color: #888}

View File

@@ -14,14 +14,10 @@
position: fixed;
white-space: pre;
white-space: pre-wrap;
margin: 0 0 0 5px;
z-index: 100;
max-width: 600px;
opacity: 0;
transition: opacity .4s;
-moz-transition: opacity .4s;
-webkit-transition: opacity .4s;
-o-transition: opacity .4s;
-ms-transition: opacity .4s;
}
.CodeMirror-lint-mark-error, .CodeMirror-lint-mark-warning {

View File

@@ -40,5 +40,6 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
.settings input, .settings textarea {border: 1px solid #555; background-color: #444; color: #fff}
.settings input:focus, .settings textarea:focus {outline: none; background: rgba(0,198,255,0.5); color: #fff}
.settings input[type="text"]:disabled {opacity: 0.5}
.settings .info {font-size: 10px; color: rgba(0,198,255,0.7); cursor: help}
.settings .info {font-size: 10px; color: rgba(0,198,255,1); cursor: help}
.settings .info .icon-tabler {width: 18px; height: 18px; margin-top: -2px; stroke-width: 1.25; pointer-events: none}
.settings .update {position: absolute; bottom: 0; right: 20px; padding: 5px 10px; font-size: 18px; background-color: rgba(0,198,255,0.7); opacity: 0.1; cursor: pointer}

View File

@@ -34,5 +34,5 @@ html, body {width: 100%; height: 100%}
.commandLine .promptVLine {display: inline-block; width: 1px; height: 12px; margin-top: -5px; margin-left: 3px; background: #b58901}
.commandLine .promptHLine {display: inline-block; color: #b58901}
.commandLine .promptArrow {display: inline-block; margin-left:-1px}
.commandLine .command {border: none; background: transparent; color: #fff}
.commandLine .command {border: none; width: 98%; background: transparent; color: #fff}
.commandLine .command:focus {outline: none}

View File

@@ -37,7 +37,7 @@ This theme is licensed under the GPL. Use it to make something cool, have fun, a
.cm-s-2019-torres-digital-theme span.cm-comment { color: #616163; }
.cm-s-2019-torres-digital-theme span.cm-string { color: #F8019E; }
.cm-s-2019-torres-digital-theme span.cm-meta { color: #F1FD31; font-weight: bold; }
.cm-s-2019-torres-digital-theme span.cm-qualifier { color: #FFF700; }
.cm-s-2019-torres-digital-theme span.cm-qualifier { color: #FFF700; font-weight: 600; }
.cm-s-2019-torres-digital-theme span.cm-builtin { color: #F8A901; }
.cm-s-2019-torres-digital-theme span.cm-bracket { color: #cc7; }
.cm-s-2019-torres-digital-theme span.cm-tag { color: #FFBD40; }

View File

@@ -1,41 +0,0 @@
/*
Name: 3024 day
Author: Jan T. Sott (http://github.com/idleberg)
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-3024-day.CodeMirror { background: #f7f7f7; color: #3a3432; }
.cm-s-3024-day div.CodeMirror-selected { background: #d6d5d4; }
.cm-s-3024-day .CodeMirror-line::selection, .cm-s-3024-day .CodeMirror-line > span::selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d6d5d4; }
.cm-s-3024-day .CodeMirror-line::-moz-selection, .cm-s-3024-day .CodeMirror-line > span::-moz-selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d9d9d9; }
.cm-s-3024-day .CodeMirror-gutters { background: #f7f7f7; border-right: 0px; }
.cm-s-3024-day .CodeMirror-guttermarker { color: #db2d20; }
.cm-s-3024-day .CodeMirror-guttermarker-subtle { color: #807d7c; }
.cm-s-3024-day .CodeMirror-linenumber { color: #807d7c; }
.cm-s-3024-day .CodeMirror-cursor { border-left: 1px solid #5c5855; }
.cm-s-3024-day span.cm-comment { color: #cdab53; }
.cm-s-3024-day span.cm-atom { color: #a16a94; }
.cm-s-3024-day span.cm-number { color: #a16a94; }
.cm-s-3024-day span.cm-property, .cm-s-3024-day span.cm-attribute { color: #01a252; }
.cm-s-3024-day span.cm-keyword { color: #db2d20; }
.cm-s-3024-day span.cm-string { color: #fded02; }
.cm-s-3024-day span.cm-variable { color: #01a252; }
.cm-s-3024-day span.cm-variable-2 { color: #01a0e4; }
.cm-s-3024-day span.cm-def { color: #e8bbd0; }
.cm-s-3024-day span.cm-bracket { color: #3a3432; }
.cm-s-3024-day span.cm-tag { color: #db2d20; }
.cm-s-3024-day span.cm-link { color: #a16a94; }
.cm-s-3024-day span.cm-error { background: #db2d20; color: #5c5855; }
.cm-s-3024-day .CodeMirror-activeline-background { background: #e8f2ff; }
.cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: #a16a94 !important; }

View File

@@ -0,0 +1,51 @@
.cm-s-all-hallow-eve {
font-family: monospace;
background: #000000;
color: #FFFFFF;
}
.cm-s-all-hallow-eve .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #000000;
z-index: 3;
border: none;
}
.cm-s-all-hallow-eve div.CodeMirror-cursor {
border-left: 3px solid #FFFFFF;
}
.cm-s-all-hallow-eve .CodeMirror-activeline-background {
background: #333300;
}
.cm-s-all-hallow-eve .CodeMirror-selected {
background: #73597EE0;
}
.cm-s-all-hallow-eve .cm-comment {
color: #9933CC;
}
.cm-s-all-hallow-eve .cm-keyword {
color: #CC7833;
}
.cm-s-all-hallow-eve .cm-def {
font-style: italic;
}
.cm-s-all-hallow-eve .cm-string {
color: #66CC33;
}
.cm-s-all-hallow-eve .cm-variable-2 {
text-decoration: underline;
}
.cm-s-all-hallow-eve .cm-property {
color: #C83730;
}
.cm-s-all-hallow-eve .cm-atom {
color: #C83730;
}
.cm-s-all-hallow-eve .cm-number {
color: #C83730;
}
.cm-s-all-hallow-eve .cm-operator {
color: #CC7833;
}
.cm-s-all-hallow-eve .CodeMirror-linenumber {
color: #9933CC;
}

View File

@@ -1,5 +0,0 @@
.cm-s-ambiance.CodeMirror {
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}

View File

@@ -39,7 +39,6 @@
/* Editor styling */
.cm-s-ambiance.CodeMirror {
line-height: 1.40em;
color: #E6E1DC;
background-color: #202020;
-webkit-box-shadow: inset 0 0 10px black;

51
assets/css/theme/amy.css Normal file
View File

@@ -0,0 +1,51 @@
.cm-s-amy {
font-family: monospace;
background: #200020;
color: #D0D0FF;
}
.cm-s-amy .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #200020;
z-index: 3;
border: none;
}
.cm-s-amy div.CodeMirror-cursor {
border-left: 3px solid #D0D0FF;
}
.cm-s-amy .CodeMirror-activeline-background {
background: #80000040;
}
.cm-s-amy .CodeMirror-selected {
background: #80000080;
}
.cm-s-amy .cm-string {
color: #999999;
}
.cm-s-amy .cm-atom {
color: null;
}
.cm-s-amy .cm-number {
color: null;
}
.cm-s-amy .cm-keyword {
color: #A080FF;
}
.cm-s-amy .cm-variable {
color: #50A0A0;
}
.cm-s-amy .cm-def {
color: #80B0B0;
}
.cm-s-amy .cm-variable-2 {
color: #009090;
}
.cm-s-amy .cm-property {
color: null;
}
.cm-s-amy .cm-operator {
color: #A080FF;
}
.cm-s-amy .CodeMirror-linenumber {
color: null;
}

View File

@@ -0,0 +1,55 @@
.cm-s-argonaut {
font-family: monospace;
background: #151515;
color: #B2B2B2;
}
.cm-s-argonaut .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #151515;
z-index: 3;
border: none;
}
.cm-s-argonaut div.CodeMirror-cursor {
border-left: 3px solid #B2B2B2;
}
.cm-s-argonaut .CodeMirror-activeline-background {
background: #000C16;
}
.cm-s-argonaut .CodeMirror-selected {
background: #002F53;
}
.cm-s-argonaut .cm-comment {
font-style: italic;
color: #00A6FF;
}
.cm-s-argonaut .cm-string {
color: #6497C5;
}
.cm-s-argonaut .cm-number {
color: #815DB3;
}
.cm-s-argonaut .cm-variable {
color: #FFCA00;
}
.cm-s-argonaut .cm-def {
font-style: italic;
}
.cm-s-argonaut .cm-property {
color: #815DB3;
}
.cm-s-argonaut .cm-variable-2 {
color: #0065D3;
}
.cm-s-argonaut .cm-atom {
color: #815DB3;
}
.cm-s-argonaut .cm-keyword {
color: null;
}
.cm-s-argonaut .cm-operator {
color: null;
}
.cm-s-argonaut .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,53 @@
.cm-s-black-pearl-ii {
font-family: monospace;
background: #000000;
color: #FFFFFF;
}
.cm-s-black-pearl-ii .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #000000;
z-index: 3;
border: none;
}
.cm-s-black-pearl-ii div.CodeMirror-cursor {
border-left: 3px solid #FFFFFF;
}
.cm-s-black-pearl-ii .CodeMirror-activeline-background {
background: #FFFFFF0D;
}
.cm-s-black-pearl-ii .CodeMirror-selected {
background: #FFFFFF26;
}
.cm-s-black-pearl-ii .cm-comment {
font-style: italic;
color: #428BDD;
}
.cm-s-black-pearl-ii .cm-atom {
color: null;
}
.cm-s-black-pearl-ii .cm-def {
font-style: italic;
color: #8AA6C1;
}
.cm-s-black-pearl-ii .cm-string {
color: #CC66FF;
}
.cm-s-black-pearl-ii .cm-number {
color: null;
}
.cm-s-black-pearl-ii .cm-variable-2 {
color: #FFFFFF;
}
.cm-s-black-pearl-ii .cm-property {
color: null;
}
.cm-s-black-pearl-ii .cm-keyword {
color: null;
}
.cm-s-black-pearl-ii .cm-operator {
color: null;
}
.cm-s-black-pearl-ii .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,54 @@
.cm-s-chrome-devtools {
font-family: monospace;
background: #FFFFFF;
color: #000000;
}
.cm-s-chrome-devtools .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #FFFFFF;
z-index: 3;
border: none;
}
.cm-s-chrome-devtools div.CodeMirror-cursor {
border-left: 3px solid #000000;
}
.cm-s-chrome-devtools .CodeMirror-activeline-background {
background: #0000001A;
}
.cm-s-chrome-devtools .CodeMirror-selected {
background: #BAD6FD;
}
.cm-s-chrome-devtools .cm-string {
color: #C41A16;
}
.cm-s-chrome-devtools .cm-number {
color: null;
}
.cm-s-chrome-devtools .cm-keyword {
color: #AA0D91;
}
.cm-s-chrome-devtools .cm-atom {
color: null;
}
.cm-s-chrome-devtools .cm-variable {
color: #000000;
}
.cm-s-chrome-devtools .cm-def {
font-style: italic;
}
.cm-s-chrome-devtools .cm-comment {
color: #007400;
}
.cm-s-chrome-devtools .cm-variable-2 {
color: #881280;
}
.cm-s-chrome-devtools .cm-property {
color: null;
}
.cm-s-chrome-devtools .cm-operator {
color: #AA0D91;
}
.cm-s-chrome-devtools .CodeMirror-linenumber {
color: #007400;
}

View File

@@ -0,0 +1,48 @@
.cm-s-clouds-midnight {
font-family: monospace;
background: #191919;
color: #929292;
}
.cm-s-clouds-midnight .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #191919;
z-index: 3;
border: none;
}
.cm-s-clouds-midnight div.CodeMirror-cursor {
border-left: 3px solid #929292;
}
.cm-s-clouds-midnight .CodeMirror-activeline-background {
background: #D7D7D708;
}
.cm-s-clouds-midnight .CodeMirror-selected {
background: #000000;
}
.cm-s-clouds-midnight .cm-comment {
color: #3C403B;
}
.cm-s-clouds-midnight .cm-string {
color: #5D90CD;
}
.cm-s-clouds-midnight .cm-number {
color: #E92E2E;
}
.cm-s-clouds-midnight .cm-atom {
color: #E92E2E;
}
.cm-s-clouds-midnight .cm-variable-2 {
color: #606060;
}
.cm-s-clouds-midnight .cm-property {
color: #E92E2E;
}
.cm-s-clouds-midnight .cm-keyword {
color: null;
}
.cm-s-clouds-midnight .cm-operator {
color: null;
}
.cm-s-clouds-midnight .CodeMirror-linenumber {
color: #3C403B;
}

View File

@@ -0,0 +1,55 @@
.cm-s-darkpastel {
font-family: monospace;
background: #2a2a2a;
color: #ffffff;
}
.cm-s-darkpastel .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #2a2a2a;
z-index: 3;
border: none;
}
.cm-s-darkpastel div.CodeMirror-cursor {
border-left: 3px solid #ffffff;
}
.cm-s-darkpastel .CodeMirror-activeline-background {
background: #3E3D32;
}
.cm-s-darkpastel .CodeMirror-selected {
background: #237CC4;
}
.cm-s-darkpastel .cm-comment {
color: #B8FF9A;
}
.cm-s-darkpastel .cm-string {
color: #FF9F9A;
}
.cm-s-darkpastel .cm-number {
color: #66D9EF;
}
.cm-s-darkpastel .cm-atom {
color: #66D9EF;
}
.cm-s-darkpastel .cm-variable {
color: #A6E22E;
}
.cm-s-darkpastel .cm-def {
font-style: italic;
color: #FD971F;
}
.cm-s-darkpastel .cm-variable-2 {
color: #F29C00;
}
.cm-s-darkpastel .cm-property {
color: #66D9EF;
}
.cm-s-darkpastel .cm-keyword {
color: null;
}
.cm-s-darkpastel .cm-operator {
color: null;
}
.cm-s-darkpastel .CodeMirror-linenumber {
color: #B8FF9A;
}

View File

@@ -0,0 +1,46 @@
.cm-s-django {
font-family: monospace;
background: #0B2F20;
color: #F8F8F8;
}
.cm-s-django .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #0B2F20;
z-index: 3;
border: none;
}
.cm-s-django div.CodeMirror-cursor {
border-left: 3px solid #F8F8F8;
}
.cm-s-django .CodeMirror-activeline-background {
background: #0000004A;
}
.cm-s-django .CodeMirror-selected {
background: #245032;
}
.cm-s-django .cm-comment {
font-style: italic;
color: #245032;
}
.cm-s-django .cm-keyword {
color: #96DD3B;
}
.cm-s-django .cm-string {
color: #91BB9E;
}
.cm-s-django .cm-property {
color: #FFB454;
}
.cm-s-django .cm-atom {
color: #FFB454;
}
.cm-s-django .cm-number {
color: #FFB454;
}
.cm-s-django .cm-operator {
color: #96DD3B;
}
.cm-s-django .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,50 @@
.cm-s-eiffel {
font-family: monospace;
background: #FFFFFF;
color: #000000;
}
.cm-s-eiffel .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #FFFFFF;
z-index: 3;
border: none;
}
.cm-s-eiffel div.CodeMirror-cursor {
border-left: 3px solid #000000;
}
.cm-s-eiffel .CodeMirror-activeline-background {
background: #00000012;
}
.cm-s-eiffel .CodeMirror-selected {
background: #C3DCFF;
}
.cm-s-eiffel .cm-comment {
color: #00B418;
}
.cm-s-eiffel .cm-keyword {
color: #0100B6;
}
.cm-s-eiffel .cm-number {
font-style: italic;
color: #3C4C72;
}
.cm-s-eiffel .cm-atom {
font-style: italic;
color: #3C4C72;
}
.cm-s-eiffel .cm-string {
color: #D80800;
}
.cm-s-eiffel .cm-def {
font-style: italic;
}
.cm-s-eiffel .cm-property {
color: #3C4C72;
}
.cm-s-eiffel .cm-operator {
color: #0100B6;
}
.cm-s-eiffel .CodeMirror-linenumber {
color: #00B418;
}

View File

@@ -0,0 +1,51 @@
.cm-s-emacs-strict {
font-family: monospace;
background: #000000EB;
color: #D3D3D3;
}
.cm-s-emacs-strict .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #000000EB;
z-index: 3;
border: none;
}
.cm-s-emacs-strict div.CodeMirror-cursor {
border-left: 3px solid #D3D3D3;
}
.cm-s-emacs-strict .CodeMirror-activeline-background {
background: #16012BEB;
}
.cm-s-emacs-strict .CodeMirror-selected {
background: #001DC3EB;
}
.cm-s-emacs-strict .cm-comment {
color: #FF7D27;
}
.cm-s-emacs-strict .cm-string {
color: #FF9E7B;
}
.cm-s-emacs-strict .cm-variable {
color: #81CEF9;
}
.cm-s-emacs-strict .cm-variable-2 {
color: #9CCFF4;
}
.cm-s-emacs-strict .cm-property {
color: null;
}
.cm-s-emacs-strict .cm-atom {
color: null;
}
.cm-s-emacs-strict .cm-number {
color: null;
}
.cm-s-emacs-strict .cm-keyword {
color: null;
}
.cm-s-emacs-strict .cm-operator {
color: null;
}
.cm-s-emacs-strict .CodeMirror-linenumber {
color: #FF7D27;
}

View File

@@ -0,0 +1,51 @@
.cm-s-fade-to-grey {
font-family: monospace;
background: #000000;
color: #FFFFFF;
}
.cm-s-fade-to-grey .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #000000;
z-index: 3;
border: none;
}
.cm-s-fade-to-grey div.CodeMirror-cursor {
border-left: 3px solid #FFFFFF;
}
.cm-s-fade-to-grey .CodeMirror-activeline-background {
background: #3A3A007A;
}
.cm-s-fade-to-grey .CodeMirror-selected {
background: #4A8CDBB3;
}
.cm-s-fade-to-grey .cm-comment {
color: #696854;
}
.cm-s-fade-to-grey .cm-keyword {
color: #D01D33;
}
.cm-s-fade-to-grey .cm-variable {
color: #AAAAAA;
}
.cm-s-fade-to-grey .cm-def {
color: #C3C3C3;
}
.cm-s-fade-to-grey .cm-string {
color: #E3E658;
}
.cm-s-fade-to-grey .cm-property {
color: #CBC3B1;
}
.cm-s-fade-to-grey .cm-atom {
color: #CBC3B1;
}
.cm-s-fade-to-grey .cm-number {
color: #CBC3B1;
}
.cm-s-fade-to-grey .cm-operator {
color: #D01D33;
}
.cm-s-fade-to-grey .CodeMirror-linenumber {
color: #696854;
}

46
assets/css/theme/fake.css Normal file
View File

@@ -0,0 +1,46 @@
.cm-s-fake {
font-family: monospace;
background: #010304;
color: #FFEDC5;
}
.cm-s-fake .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #010304;
z-index: 3;
border: none;
}
.cm-s-fake div.CodeMirror-cursor {
border-left: 3px solid #FFEDC5;
}
.cm-s-fake .CodeMirror-activeline-background {
background: #FFFFFF0D;
}
.cm-s-fake .CodeMirror-selected {
background: #DDF0FF33;
}
.cm-s-fake .cm-comment {
font-style: italic;
color: #8E8D93;
}
.cm-s-fake .cm-keyword {
color: #FF4A1A;
}
.cm-s-fake .cm-string {
color: #FF9924;
}
.cm-s-fake .cm-property {
color: #DAD085;
}
.cm-s-fake .cm-atom {
color: #DAD085;
}
.cm-s-fake .cm-number {
color: #DAD085;
}
.cm-s-fake .cm-operator {
color: #FF4A1A;
}
.cm-s-fake .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,54 @@
.cm-s-friendship-bracelet {
font-family: monospace;
background: #1F1F1F;
color: #F1F1F1;
}
.cm-s-friendship-bracelet .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #1F1F1F;
z-index: 3;
border: none;
}
.cm-s-friendship-bracelet div.CodeMirror-cursor {
border-left: 3px solid #F1F1F1;
}
.cm-s-friendship-bracelet .CodeMirror-activeline-background {
background: #404040;
}
.cm-s-friendship-bracelet .CodeMirror-selected {
background: #73597EE0;
}
.cm-s-friendship-bracelet .cm-comment {
color: #8A8988;
}
.cm-s-friendship-bracelet .cm-keyword {
color: #FF8C56;
}
.cm-s-friendship-bracelet .cm-variable {
color: #389AD9;
}
.cm-s-friendship-bracelet .cm-def {
font-style: italic;
}
.cm-s-friendship-bracelet .cm-string {
color: #F3F99A;
}
.cm-s-friendship-bracelet .cm-variable-2 {
color: #FC8C56;
}
.cm-s-friendship-bracelet .cm-property {
color: #FF6666;
}
.cm-s-friendship-bracelet .cm-atom {
color: #FF6666;
}
.cm-s-friendship-bracelet .cm-number {
color: #FF6666;
}
.cm-s-friendship-bracelet .cm-operator {
color: #FF8C56;
}
.cm-s-friendship-bracelet .CodeMirror-linenumber {
color: #8A8988;
}

View File

@@ -0,0 +1,46 @@
.cm-s-glitterbomb {
font-family: monospace;
background: #0B0A0A;
color: #CFCFCF;
}
.cm-s-glitterbomb .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #0B0A0A;
z-index: 3;
border: none;
}
.cm-s-glitterbomb div.CodeMirror-cursor {
border-left: 3px solid #CFCFCF;
}
.cm-s-glitterbomb .CodeMirror-activeline-background {
background: #F8F8F8;
}
.cm-s-glitterbomb .CodeMirror-selected {
background: #FFFFFF59;
}
.cm-s-glitterbomb .cm-comment {
font-style: italic;
color: #44444E;
}
.cm-s-glitterbomb .cm-keyword {
color: #DBB800;
}
.cm-s-glitterbomb .cm-number {
color: #935E29;
}
.cm-s-glitterbomb .cm-string {
color: #4D6537;
}
.cm-s-glitterbomb .cm-property {
color: #935E29;
}
.cm-s-glitterbomb .cm-atom {
color: #935E29;
}
.cm-s-glitterbomb .cm-operator {
color: #DBB800;
}
.cm-s-glitterbomb .CodeMirror-linenumber {
color: italic;
}

48
assets/css/theme/idle.css Normal file
View File

@@ -0,0 +1,48 @@
.cm-s-idle {
font-family: monospace;
background: #FFFFFF;
color: #000000;
}
.cm-s-idle .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #FFFFFF;
z-index: 3;
border: none;
}
.cm-s-idle div.CodeMirror-cursor {
border-left: 3px solid #000000;
}
.cm-s-idle .CodeMirror-activeline-background {
background: #00000012;
}
.cm-s-idle .CodeMirror-selected {
background: #BAD6FD;
}
.cm-s-idle .cm-comment {
color: #919191;
}
.cm-s-idle .cm-string {
color: #00A33F;
}
.cm-s-idle .cm-atom {
color: #A535AE;
}
.cm-s-idle .cm-keyword {
color: #FF5600;
}
.cm-s-idle .cm-variable {
color: #21439C;
}
.cm-s-idle .cm-property {
color: #A535AE;
}
.cm-s-idle .cm-number {
color: #A535AE;
}
.cm-s-idle .cm-operator {
color: #FF5600;
}
.cm-s-idle .CodeMirror-linenumber {
color: #919191;
}

View File

@@ -0,0 +1,49 @@
.cm-s-idlefingers {
font-family: monospace;
background: #323232;
color: #FFFFFF;
}
.cm-s-idlefingers .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #323232;
z-index: 3;
border: none;
}
.cm-s-idlefingers div.CodeMirror-cursor {
border-left: 3px solid #FFFFFF;
}
.cm-s-idlefingers .CodeMirror-activeline-background {
background: #343536;
}
.cm-s-idlefingers .CodeMirror-selected {
background: #5A647EE0;
}
.cm-s-idlefingers .cm-comment {
font-style: italic;
color: #BC9458;
}
.cm-s-idlefingers .cm-keyword {
color: #CC7833;
}
.cm-s-idlefingers .cm-def {
font-style: italic;
}
.cm-s-idlefingers .cm-string {
color: #A5C261;
}
.cm-s-idlefingers .cm-property {
color: #B83426;
}
.cm-s-idlefingers .cm-atom {
color: #B83426;
}
.cm-s-idlefingers .cm-number {
color: #B83426;
}
.cm-s-idlefingers .cm-operator {
color: #CC7833;
}
.cm-s-idlefingers .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,52 @@
.cm-s-iplastic {
font-family: monospace;
background: #EEEEEEEB;
color: #000000;
}
.cm-s-iplastic .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #EEEEEEEB;
z-index: 3;
border: none;
}
.cm-s-iplastic div.CodeMirror-cursor {
border-left: 3px solid #000000;
}
.cm-s-iplastic .CodeMirror-activeline-background {
background: #0000001A;
}
.cm-s-iplastic .CodeMirror-selected {
background: #BAD6FD;
}
.cm-s-iplastic .cm-string {
color: #009933;
}
.cm-s-iplastic .cm-number {
color: null;
}
.cm-s-iplastic .cm-keyword {
color: #0000FF;
}
.cm-s-iplastic .cm-atom {
color: null;
}
.cm-s-iplastic .cm-variable {
color: #FF8000;
}
.cm-s-iplastic .cm-def {
font-style: italic;
}
.cm-s-iplastic .cm-comment {
font-style: italic;
color: #0066FF;
}
.cm-s-iplastic .cm-property {
color: null;
}
.cm-s-iplastic .cm-operator {
color: #0000FF;
}
.cm-s-iplastic .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,45 @@
.cm-s-ir_black {
font-family: monospace;
background: #000000;
color: #EDEDED;
}
.cm-s-ir_black .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #000000;
z-index: 3;
border: none;
}
.cm-s-ir_black div.CodeMirror-cursor {
border-left: 3px solid #EDEDED;
}
.cm-s-ir_black .CodeMirror-activeline-background {
background: #FFFFFF24;
}
.cm-s-ir_black .CodeMirror-selected {
background: #333333;
}
.cm-s-ir_black .cm-comment {
color: #7C7C7C;
}
.cm-s-ir_black .cm-keyword {
color: #96CBFE;
}
.cm-s-ir_black .cm-string {
color: #A8FF60;
}
.cm-s-ir_black .cm-number {
color: #DAD085;
}
.cm-s-ir_black .cm-property {
color: #DAD085;
}
.cm-s-ir_black .cm-atom {
color: #DAD085;
}
.cm-s-ir_black .cm-operator {
color: #96CBFE;
}
.cm-s-ir_black .CodeMirror-linenumber {
color: #7C7C7C;
}

View File

@@ -0,0 +1,45 @@
.cm-s-ir_white {
font-family: monospace;
background: #FFFFFF;
color: #010101;
}
.cm-s-ir_white .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #FFFFFF;
z-index: 3;
border: none;
}
.cm-s-ir_white div.CodeMirror-cursor {
border-left: 3px solid #010101;
}
.cm-s-ir_white .CodeMirror-activeline-background {
background: #FFFFFF0D;
}
.cm-s-ir_white .CodeMirror-selected {
background: #E0E0ED;
}
.cm-s-ir_white .cm-comment {
color: #898989;
}
.cm-s-ir_white .cm-keyword {
color: #016692;
}
.cm-s-ir_white .cm-string {
color: #009F78;
}
.cm-s-ir_white .cm-number {
color: #7A7025;
}
.cm-s-ir_white .cm-property {
color: #7A7025;
}
.cm-s-ir_white .cm-atom {
color: #7A7025;
}
.cm-s-ir_white .cm-operator {
color: #016692;
}
.cm-s-ir_white .CodeMirror-linenumber {
color: #898989;
}

View File

@@ -0,0 +1,45 @@
.cm-s-johnny {
font-family: monospace;
background: #FFFFFF;
color: #010101;
}
.cm-s-johnny .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #FFFFFF;
z-index: 3;
border: none;
}
.cm-s-johnny div.CodeMirror-cursor {
border-left: 3px solid #010101;
}
.cm-s-johnny .CodeMirror-activeline-background {
background: #ECDE0021;
}
.cm-s-johnny .CodeMirror-selected {
background: #C8C8D3;
}
.cm-s-johnny .cm-comment {
color: #898989;
}
.cm-s-johnny .cm-keyword {
color: #016692;
}
.cm-s-johnny .cm-string {
color: #008D6B;
}
.cm-s-johnny .cm-number {
color: #7A7025;
}
.cm-s-johnny .cm-property {
color: #7A7025;
}
.cm-s-johnny .cm-atom {
color: #7A7025;
}
.cm-s-johnny .cm-operator {
color: #016692;
}
.cm-s-johnny .CodeMirror-linenumber {
color: #898989;
}

View File

@@ -0,0 +1,52 @@
.cm-s-juicy {
font-family: monospace;
background: #F1F1F1;
color: #000000;
}
.cm-s-juicy .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #F1F1F1;
z-index: 3;
border: none;
}
.cm-s-juicy div.CodeMirror-cursor {
border-left: 3px solid #000000;
}
.cm-s-juicy .CodeMirror-activeline-background {
background: #00000012;
}
.cm-s-juicy .CodeMirror-selected {
background: #A9C9FF;
}
.cm-s-juicy .cm-comment {
font-style: italic;
color: #999999;
}
.cm-s-juicy .cm-string {
color: #FF6600;
}
.cm-s-juicy .cm-number {
color: #CC0000;
}
.cm-s-juicy .cm-keyword {
color: #993300;
}
.cm-s-juicy .cm-variable {
color: #FF0000;
}
.cm-s-juicy .cm-variable-2 {
color: #FF0000;
}
.cm-s-juicy .cm-property {
color: #CC0000;
}
.cm-s-juicy .cm-atom {
color: #CC0000;
}
.cm-s-juicy .cm-operator {
color: #993300;
}
.cm-s-juicy .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,43 @@
.cm-s-krtheme {
font-family: monospace;
background: #0B0A09;
color: #FCFFE0;
}
.cm-s-krtheme .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #0B0A09;
z-index: 3;
border: none;
}
.cm-s-krtheme div.CodeMirror-cursor {
border-left: 3px solid #FCFFE0;
}
.cm-s-krtheme .CodeMirror-activeline-background {
background: #38403D;
}
.cm-s-krtheme .CodeMirror-selected {
background: #AA00FF73;
}
.cm-s-krtheme .cm-keyword {
color: #949C8B;
}
.cm-s-krtheme .cm-comment {
font-style: italic;
color: #706D5B;
}
.cm-s-krtheme .cm-property {
color: #85873A;
}
.cm-s-krtheme .cm-atom {
color: #85873A;
}
.cm-s-krtheme .cm-number {
color: #85873A;
}
.cm-s-krtheme .cm-operator {
color: #949C8B;
}
.cm-s-krtheme .CodeMirror-linenumber {
color: italic;
}

View File

@@ -2,9 +2,6 @@
http://lesscss.org/ dark theme
Ported to CodeMirror by Peter Kroon
*/
.cm-s-lesser-dark {
line-height: 1.3em;
}
.cm-s-lesser-dark.CodeMirror { background: #262626; color: #EBEFE7; text-shadow: 0 -1px 1px #262626; }
.cm-s-lesser-dark div.CodeMirror-selected { background: #45443B; } /* 33322B*/
.cm-s-lesser-dark .CodeMirror-line::selection, .cm-s-lesser-dark .CodeMirror-line > span::selection, .cm-s-lesser-dark .CodeMirror-line > span > span::selection { background: rgba(69, 68, 59, .99); }

View File

@@ -2,7 +2,6 @@
background-color: #000;
color: #fff;
line-height: 1.2em;
font-size: 1em;
}
.cm-s-liquibyte .CodeMirror-focused .cm-matchhighlight {
text-decoration: underline;
@@ -19,7 +18,7 @@
text-decoration-color: #404040;
text-decoration-style: dotted;
}
.cm-s-liquibyte .CodeMirror-gutters { background-color: #262626; border-right: 1px solid #505050; padding-right: 0.8em; }
.cm-s-liquibyte .CodeMirror-gutters { background-color: #262626; border-right: 1px solid #505050; }
.cm-s-liquibyte .CodeMirror-gutter-elt div { font-size: 1.2em; }
.cm-s-liquibyte .CodeMirror-guttermarker { }
.cm-s-liquibyte .CodeMirror-guttermarker-subtle { }

View File

@@ -0,0 +1,50 @@
.cm-s-lowlight {
font-family: monospace;
background: #1E1E1E;
color: #CACACA;
}
.cm-s-lowlight .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #1E1E1E;
z-index: 3;
border: none;
}
.cm-s-lowlight div.CodeMirror-cursor {
border-left: 3px solid #CACACA;
}
.cm-s-lowlight .CodeMirror-activeline-background {
background: #00000014;
}
.cm-s-lowlight .CodeMirror-selected {
background: #68729B29;
}
.cm-s-lowlight .cm-comment {
font-style: italic;
color: #3C5636;
background: #112B0A1A;
}
.cm-s-lowlight .cm-keyword {
color: #8F8D17;
}
.cm-s-lowlight .cm-string {
color: #A57C5C;
}
.cm-s-lowlight .cm-property {
color: #EDD34D;
}
.cm-s-lowlight .cm-variable-2 {
color: #BAA827;
}
.cm-s-lowlight .cm-atom {
color: #EDD34D;
}
.cm-s-lowlight .cm-number {
color: #EDD34D;
}
.cm-s-lowlight .cm-operator {
color: #8F8D17;
}
.cm-s-lowlight .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,47 @@
.cm-s-made-of-code {
font-family: monospace;
background: #090916F2;
color: #F8F8F8;
}
.cm-s-made-of-code .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #090916F2;
z-index: 3;
border: none;
}
.cm-s-made-of-code div.CodeMirror-cursor {
border-left: 3px solid #F8F8F8;
}
.cm-s-made-of-code .CodeMirror-activeline-background {
background: #00000000;
}
.cm-s-made-of-code .CodeMirror-selected {
background: #007DFF80;
}
.cm-s-made-of-code .cm-comment {
color: #54576B;
background: #00000000;
}
.cm-s-made-of-code .cm-keyword {
color: #FF3854;
}
.cm-s-made-of-code .cm-string {
color: #8FFF58;
background: #102622FA;
}
.cm-s-made-of-code .cm-property {
color: #F1D950;
}
.cm-s-made-of-code .cm-atom {
color: #F1D950;
}
.cm-s-made-of-code .cm-number {
color: #F1D950;
}
.cm-s-made-of-code .cm-operator {
color: #FF3854;
}
.cm-s-made-of-code .CodeMirror-linenumber {
color: #54576B;
}

View File

@@ -12,7 +12,7 @@
.cm-s-mdn-like .CodeMirror-line::selection, .cm-s-mdn-like .CodeMirror-line > span::selection, .cm-s-mdn-like .CodeMirror-line > span > span::selection { background: #cfc; }
.cm-s-mdn-like .CodeMirror-line::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span > span::-moz-selection { background: #cfc; }
.cm-s-mdn-like .CodeMirror-gutters { background: #f8f8f8; border-left: 6px solid rgba(0,83,159,0.65); color: #333; }
.cm-s-mdn-like .CodeMirror-gutters { background: #f8f8f8; color: #333; }
.cm-s-mdn-like .CodeMirror-linenumber { color: #aaa; padding-left: 8px; }
.cm-s-mdn-like .CodeMirror-cursor { border-left: 2px solid #222; }

View File

@@ -12,8 +12,6 @@
color: #D1EDFF;
}
.cm-s-midnight.CodeMirror { border-top: 1px solid black; border-bottom: 1px solid black; }
.cm-s-midnight div.CodeMirror-selected { background: #314D67; }
.cm-s-midnight .CodeMirror-line::selection, .cm-s-midnight .CodeMirror-line > span::selection, .cm-s-midnight .CodeMirror-line > span > span::selection { background: rgba(49, 77, 103, .99); }
.cm-s-midnight .CodeMirror-line::-moz-selection, .cm-s-midnight .CodeMirror-line > span::-moz-selection, .cm-s-midnight .CodeMirror-line > span > span::-moz-selection { background: rgba(49, 77, 103, .99); }

View File

@@ -0,0 +1,49 @@
.cm-s-monoindustrial {
font-family: monospace;
background: #222C28;
color: #FFFFFF;
}
.cm-s-monoindustrial .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #222C28;
z-index: 3;
border: none;
}
.cm-s-monoindustrial div.CodeMirror-cursor {
border-left: 3px solid #FFFFFF;
}
.cm-s-monoindustrial .CodeMirror-activeline-background {
background: #0C0D0C40;
}
.cm-s-monoindustrial .CodeMirror-selected {
background: #91999466;
}
.cm-s-monoindustrial .cm-comment {
color: #666C68;
background: #151C19;
}
.cm-s-monoindustrial .cm-number {
color: #588E60;
}
.cm-s-monoindustrial .cm-def {
color: #648BD2;
}
.cm-s-monoindustrial .cm-property {
color: #588E60;
}
.cm-s-monoindustrial .cm-variable-2 {
color: #A65EFF;
}
.cm-s-monoindustrial .cm-atom {
color: #588E60;
}
.cm-s-monoindustrial .cm-keyword {
color: null;
}
.cm-s-monoindustrial .cm-operator {
color: null;
}
.cm-s-monoindustrial .CodeMirror-linenumber {
color: #666C68;
}

View File

@@ -0,0 +1,55 @@
.cm-s-monokai-bright {
font-family: monospace;
background: #272822;
color: #F8F8F2;
}
.cm-s-monokai-bright .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #272822;
z-index: 3;
border: none;
}
.cm-s-monokai-bright div.CodeMirror-cursor {
border-left: 3px solid #F8F8F2;
}
.cm-s-monokai-bright .CodeMirror-activeline-background {
background: #3E3D32;
}
.cm-s-monokai-bright .CodeMirror-selected {
background: #9D550F;
}
.cm-s-monokai-bright .cm-comment {
color: #75715E;
}
.cm-s-monokai-bright .cm-string {
color: #E6DB74;
}
.cm-s-monokai-bright .cm-number {
color: #66D9EF;
}
.cm-s-monokai-bright .cm-atom {
color: #66D9EF;
}
.cm-s-monokai-bright .cm-keyword {
color: #F92672;
}
.cm-s-monokai-bright .cm-variable {
color: #A6E22E;
}
.cm-s-monokai-bright .cm-def {
font-style: italic;
color: #FD971F;
}
.cm-s-monokai-bright .cm-variable-2 {
color: #F92672;
}
.cm-s-monokai-bright .cm-property {
color: #66D9EF;
}
.cm-s-monokai-bright .cm-operator {
color: #F92672;
}
.cm-s-monokai-bright .CodeMirror-linenumber {
color: #75715E;
}

View File

@@ -0,0 +1,55 @@
.cm-s-monokai-fannonedition {
font-family: monospace;
background: #0A0A0A;
color: #F8F8F2;
}
.cm-s-monokai-fannonedition .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #0A0A0A;
z-index: 3;
border: none;
}
.cm-s-monokai-fannonedition div.CodeMirror-cursor {
border-left: 3px solid #F8F8F2;
}
.cm-s-monokai-fannonedition .CodeMirror-activeline-background {
background: #2D2D2D;
}
.cm-s-monokai-fannonedition .CodeMirror-selected {
background: #2B2B2B;
}
.cm-s-monokai-fannonedition .cm-comment {
color: #999999;
}
.cm-s-monokai-fannonedition .cm-string {
color: #F3E87E;
}
.cm-s-monokai-fannonedition .cm-number {
color: #66D9EF;
}
.cm-s-monokai-fannonedition .cm-atom {
color: #66D9EF;
}
.cm-s-monokai-fannonedition .cm-keyword {
color: #EC7600;
}
.cm-s-monokai-fannonedition .cm-variable {
color: #A6E22E;
}
.cm-s-monokai-fannonedition .cm-def {
font-style: italic;
color: #FD971F;
}
.cm-s-monokai-fannonedition .cm-variable-2 {
color: #FE890C;
}
.cm-s-monokai-fannonedition .cm-property {
color: #66D9EF;
}
.cm-s-monokai-fannonedition .cm-operator {
color: #EC7600;
}
.cm-s-monokai-fannonedition .CodeMirror-linenumber {
color: #999999;
}

54
assets/css/theme/mreq.css Normal file
View File

@@ -0,0 +1,54 @@
.cm-s-mreq {
font-family: monospace;
background: #181818;
color: #c4c4c4;
}
.cm-s-mreq .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #181818;
z-index: 3;
border: none;
}
.cm-s-mreq div.CodeMirror-cursor {
border-left: 3px solid #c4c4c4;
}
.cm-s-mreq .CodeMirror-activeline-background {
background: #020202;
}
.cm-s-mreq .CodeMirror-selected {
background: #c4c4c4;
}
.cm-s-mreq .cm-comment {
color: #6a6a6a;
}
.cm-s-mreq .cm-string {
color: #C59C70;
}
.cm-s-mreq .cm-number {
color: #6facbe;
}
.cm-s-mreq .cm-atom {
color: #6facbe;
}
.cm-s-mreq .cm-keyword {
color: #ca7473;
}
.cm-s-mreq .cm-variable {
color: #ca7473;
}
.cm-s-mreq .cm-def {
color: #c59c70;
}
.cm-s-mreq .cm-variable-2 {
color: #ca7473;
}
.cm-s-mreq .cm-property {
color: #6facbe;
}
.cm-s-mreq .cm-operator {
color: #ca7473;
}
.cm-s-mreq .CodeMirror-linenumber {
color: #6a6a6a;
}

View File

@@ -5,7 +5,6 @@
.cm-s-neo.CodeMirror {
background-color:#ffffff;
color:#2e383c;
line-height:1.4375;
}
.cm-s-neo .cm-comment { color:#75787b; }
.cm-s-neo .cm-keyword, .cm-s-neo .cm-property { color:#1d75b3; }

View File

@@ -0,0 +1,49 @@
.cm-s-nightlion {
font-family: monospace;
color: #9e9e9e;
background: #1a1a1a;
}
.cm-s-nightlion .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #1a1a1a;
z-index: 3;
border: none;
}
.cm-s-nightlion div.CodeMirror-cursor {
border-left: 3px solid #9e9e9e;
}
.cm-s-nightlion .CodeMirror-activeline-background {
background: #ffffff08;
}
.cm-s-nightlion .CodeMirror-selected {
background: #ddf0ff33;
}
.cm-s-nightlion .cm-keyword {
color: #74b6e9ff;
}
.cm-s-nightlion .cm-string {
color: #e0db5dff;
}
.cm-s-nightlion .cm-property {
color: #76b6edff;
}
.cm-s-nightlion .cm-comment {
font-style: italic;
color: #0080ffff;
}
.cm-s-nightlion .cm-def {
color: #ffcc66ff;
}
.cm-s-nightlion .cm-atom {
color: #76b6edff;
}
.cm-s-nightlion .cm-number {
color: #76b6edff;
}
.cm-s-nightlion .cm-operator {
color: #74b6e9ff;
}
.cm-s-nightlion .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,55 @@
.cm-s-oceanic {
font-family: monospace;
background: #1B2630;
color: #F8F8F2;
}
.cm-s-oceanic .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #1B2630;
z-index: 3;
border: none;
}
.cm-s-oceanic div.CodeMirror-cursor {
border-left: 3px solid #F8F8F2;
}
.cm-s-oceanic .CodeMirror-activeline-background {
background: #3D2E2E77;
}
.cm-s-oceanic .CodeMirror-selected {
background: #95A3A63D;
}
.cm-s-oceanic .cm-comment {
color: #6D6D6D;
}
.cm-s-oceanic .cm-string {
color: #8AD6F2;
}
.cm-s-oceanic .cm-number {
color: #FFB266;
}
.cm-s-oceanic .cm-atom {
color: #FFB266;
}
.cm-s-oceanic .cm-keyword {
color: #E47D80;
}
.cm-s-oceanic .cm-variable {
color: #F2AAEC;
}
.cm-s-oceanic .cm-def {
font-style: italic;
color: #FFD2A6;
}
.cm-s-oceanic .cm-variable-2 {
color: #BAE682;
}
.cm-s-oceanic .cm-property {
color: #FFB266;
}
.cm-s-oceanic .cm-operator {
color: #E47D80;
}
.cm-s-oceanic .CodeMirror-linenumber {
color: #6D6D6D;
}

View File

@@ -6,7 +6,6 @@
.cm-s-panda-syntax {
background: #292A2B;
color: #E6E6E6;
line-height: 1.5;
font-family: 'Operator Mono', 'Source Sans Pro', Menlo, Monaco, Consolas, Courier New, monospace;
}
.cm-s-panda-syntax .CodeMirror-cursor { border-color: #ff2c6d; }

View File

@@ -1,38 +0,0 @@
/*
Name: Paraíso (Light)
Author: Jan T. Sott
Color scheme by Jan T. Sott (https://github.com/idleberg/Paraiso-CodeMirror)
Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
*/
.cm-s-paraiso-light.CodeMirror { background: #e7e9db; color: #41323f; }
.cm-s-paraiso-light div.CodeMirror-selected { background: #b9b6b0; }
.cm-s-paraiso-light .CodeMirror-line::selection, .cm-s-paraiso-light .CodeMirror-line > span::selection, .cm-s-paraiso-light .CodeMirror-line > span > span::selection { background: #b9b6b0; }
.cm-s-paraiso-light .CodeMirror-line::-moz-selection, .cm-s-paraiso-light .CodeMirror-line > span::-moz-selection, .cm-s-paraiso-light .CodeMirror-line > span > span::-moz-selection { background: #b9b6b0; }
.cm-s-paraiso-light .CodeMirror-gutters { background: #e7e9db; border-right: 0px; }
.cm-s-paraiso-light .CodeMirror-guttermarker { color: black; }
.cm-s-paraiso-light .CodeMirror-guttermarker-subtle { color: #8d8687; }
.cm-s-paraiso-light .CodeMirror-linenumber { color: #8d8687; }
.cm-s-paraiso-light .CodeMirror-cursor { border-left: 1px solid #776e71; }
.cm-s-paraiso-light span.cm-comment { color: #e96ba8; }
.cm-s-paraiso-light span.cm-atom { color: #815ba4; }
.cm-s-paraiso-light span.cm-number { color: #815ba4; }
.cm-s-paraiso-light span.cm-property, .cm-s-paraiso-light span.cm-attribute { color: #48b685; }
.cm-s-paraiso-light span.cm-keyword { color: #ef6155; }
.cm-s-paraiso-light span.cm-string { color: #fec418; }
.cm-s-paraiso-light span.cm-variable { color: #48b685; }
.cm-s-paraiso-light span.cm-variable-2 { color: #06b6ef; }
.cm-s-paraiso-light span.cm-def { color: #f99b15; }
.cm-s-paraiso-light span.cm-bracket { color: #41323f; }
.cm-s-paraiso-light span.cm-tag { color: #ef6155; }
.cm-s-paraiso-light span.cm-link { color: #815ba4; }
.cm-s-paraiso-light span.cm-error { background: #ef6155; color: #776e71; }
.cm-s-paraiso-light .CodeMirror-activeline-background { background: #CFD1C4; }
.cm-s-paraiso-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }

View File

@@ -10,7 +10,6 @@
.cm-s-pastel-on-dark.CodeMirror {
background: #2c2827;
color: #8F938F;
line-height: 1.5;
}
.cm-s-pastel-on-dark div.CodeMirror-selected { background: rgba(221,240,255,0.2); }
.cm-s-pastel-on-dark .CodeMirror-line::selection, .cm-s-pastel-on-dark .CodeMirror-line > span::selection, .cm-s-pastel-on-dark .CodeMirror-line > span > span::selection { background: rgba(221,240,255,0.2); }

View File

@@ -0,0 +1,46 @@
.cm-s-plasticcodewrap {
font-family: monospace;
background: #00161B;
color: #F8F8F8;
}
.cm-s-plasticcodewrap .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #00161B;
z-index: 3;
border: none;
}
.cm-s-plasticcodewrap div.CodeMirror-cursor {
border-left: 3px solid #F8F8F8;
}
.cm-s-plasticcodewrap .CodeMirror-activeline-background {
background: #FFFFFF0D;
}
.cm-s-plasticcodewrap .CodeMirror-selected {
background: #C5DFE980;
}
.cm-s-plasticcodewrap .cm-comment {
font-style: italic;
color: #1E9AE0;
}
.cm-s-plasticcodewrap .cm-keyword {
color: #FFAA00;
}
.cm-s-plasticcodewrap .cm-string {
color: #65BA3A;
}
.cm-s-plasticcodewrap .cm-property {
color: #FFB454;
}
.cm-s-plasticcodewrap .cm-atom {
color: #FFB454;
}
.cm-s-plasticcodewrap .cm-number {
color: #FFB454;
}
.cm-s-plasticcodewrap .cm-operator {
color: #FFAA00;
}
.cm-s-plasticcodewrap .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,55 @@
.cm-s-rails-envy {
font-family: monospace;
background: #121210;
color: #F8F8F2;
}
.cm-s-rails-envy .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #121210;
z-index: 3;
border: none;
}
.cm-s-rails-envy div.CodeMirror-cursor {
border-left: 3px solid #F8F8F2;
}
.cm-s-rails-envy .CodeMirror-activeline-background {
background: #3E3D32;
}
.cm-s-rails-envy .CodeMirror-selected {
background: #49483E;
}
.cm-s-rails-envy .cm-comment {
color: #75715E;
}
.cm-s-rails-envy .cm-string {
color: #FFFF66;
}
.cm-s-rails-envy .cm-number {
color: #66D9EF;
}
.cm-s-rails-envy .cm-atom {
color: #66D9EF;
}
.cm-s-rails-envy .cm-keyword {
color: #40A187;
}
.cm-s-rails-envy .cm-variable {
color: #A6E22E;
}
.cm-s-rails-envy .cm-def {
font-style: italic;
color: #FD971F;
}
.cm-s-rails-envy .cm-variable-2 {
color: #52F9F9;
}
.cm-s-rails-envy .cm-property {
color: #66D9EF;
}
.cm-s-rails-envy .cm-operator {
color: #40A187;
}
.cm-s-rails-envy .CodeMirror-linenumber {
color: #75715E;
}

View File

@@ -0,0 +1,54 @@
.cm-s-rdark {
font-family: monospace;
background: #1B2426;
color: #B9BDB6;
}
.cm-s-rdark .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #1B2426;
z-index: 3;
border: none;
}
.cm-s-rdark div.CodeMirror-cursor {
border-left: 3px solid #B9BDB6;
}
.cm-s-rdark .CodeMirror-activeline-background {
background: #00000070;
}
.cm-s-rdark .CodeMirror-selected {
background: #E0E8FF66;
}
.cm-s-rdark .cm-comment {
color: #646763;
}
.cm-s-rdark .cm-string {
color: #5CE638;
}
.cm-s-rdark .cm-number {
color: null;
}
.cm-s-rdark .cm-atom {
color: null;
}
.cm-s-rdark .cm-keyword {
color: #5BA1CF;
}
.cm-s-rdark .cm-variable {
color: #FFAA3E;
}
.cm-s-rdark .cm-def {
color: #FFFFFF;
}
.cm-s-rdark .cm-variable-2 {
color: #FFFFFF;
}
.cm-s-rdark .cm-property {
color: null;
}
.cm-s-rdark .cm-operator {
color: #5BA1CF;
}
.cm-s-rdark .CodeMirror-linenumber {
color: #646763;
}

View File

@@ -28,7 +28,6 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
/* Color scheme for code-mirror */
.cm-s-solarized {
line-height: 1.45em;
color-profile: sRGB;
rendering-intent: auto;
}

View File

@@ -0,0 +1,46 @@
.cm-s-spectacular {
font-family: monospace;
background: #0B0A0A;
color: #F3F3F3;
}
.cm-s-spectacular .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #0B0A0A;
z-index: 3;
border: none;
}
.cm-s-spectacular div.CodeMirror-cursor {
border-left: 3px solid #F3F3F3;
}
.cm-s-spectacular .CodeMirror-activeline-background {
background: #F8F8F8;
}
.cm-s-spectacular .CodeMirror-selected {
background: #FFFFFF59;
}
.cm-s-spectacular .cm-comment {
font-style: italic;
color: #60606D;
}
.cm-s-spectacular .cm-keyword {
color: #FFAA00;
}
.cm-s-spectacular .cm-string {
color: #A9E448;
}
.cm-s-spectacular .cm-property {
color: #FFB454;
}
.cm-s-spectacular .cm-atom {
color: #FFB454;
}
.cm-s-spectacular .cm-number {
color: #FFB454;
}
.cm-s-spectacular .cm-operator {
color: #FFAA00;
}
.cm-s-spectacular .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,46 @@
.cm-s-sunburst {
font-family: monospace;
background: #000000;
color: #F8F8F8;
}
.cm-s-sunburst .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #000000;
z-index: 3;
border: none;
}
.cm-s-sunburst div.CodeMirror-cursor {
border-left: 3px solid #F8F8F8;
}
.cm-s-sunburst .CodeMirror-activeline-background {
background: #FFFFFF1A;
}
.cm-s-sunburst .CodeMirror-selected {
background: #DDF0FF33;
}
.cm-s-sunburst .cm-comment {
font-style: italic;
color: #AEAEAE;
}
.cm-s-sunburst .cm-keyword {
color: #E28964;
}
.cm-s-sunburst .cm-string {
color: #65B042;
}
.cm-s-sunburst .cm-property {
color: #DAD085;
}
.cm-s-sunburst .cm-atom {
color: #DAD085;
}
.cm-s-sunburst .cm-number {
color: #DAD085;
}
.cm-s-sunburst .cm-operator {
color: #E28964;
}
.cm-s-sunburst .CodeMirror-linenumber {
color: italic;
}

View File

@@ -0,0 +1,55 @@
.cm-s-text-ex-machina {
font-family: monospace;
background: #151515;
color: #E6E6E6;
}
.cm-s-text-ex-machina .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #151515;
z-index: 3;
border: none;
}
.cm-s-text-ex-machina div.CodeMirror-cursor {
border-left: 3px solid #E6E6E6;
}
.cm-s-text-ex-machina .CodeMirror-activeline-background {
background: #3E3D32;
}
.cm-s-text-ex-machina .CodeMirror-selected {
background: #666666;
}
.cm-s-text-ex-machina .cm-comment {
color: #333333;
}
.cm-s-text-ex-machina .cm-string {
color: #66CCFF;
}
.cm-s-text-ex-machina .cm-number {
color: #80FF0080;
}
.cm-s-text-ex-machina .cm-atom {
color: #80FF0080;
}
.cm-s-text-ex-machina .cm-keyword {
color: #777CB2;
}
.cm-s-text-ex-machina .cm-variable {
color: #CCFF66;
}
.cm-s-text-ex-machina .cm-def {
font-style: italic;
color: #CCFF6680;
}
.cm-s-text-ex-machina .cm-variable-2 {
color: #323464;
}
.cm-s-text-ex-machina .cm-property {
color: #80FF0080;
}
.cm-s-text-ex-machina .cm-operator {
color: #777CB2;
}
.cm-s-text-ex-machina .CodeMirror-linenumber {
color: #333333;
}

View File

@@ -0,0 +1,42 @@
.cm-s-tomorrow-night-blue {
font-family: monospace;
background: #002451;
color: #FFFFFF;
}
.cm-s-tomorrow-night-blue .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #002451;
z-index: 3;
border: none;
}
.cm-s-tomorrow-night-blue div.CodeMirror-cursor {
border-left: 3px solid #FFFFFF;
}
.cm-s-tomorrow-night-blue .CodeMirror-activeline-background {
background: #00346E;
}
.cm-s-tomorrow-night-blue .CodeMirror-selected {
background: #003F8E;
}
.cm-s-tomorrow-night-blue .cm-comment {
color: #7285B7;
}
.cm-s-tomorrow-night-blue .cm-property {
color: null;
}
.cm-s-tomorrow-night-blue .cm-atom {
color: null;
}
.cm-s-tomorrow-night-blue .cm-number {
color: null;
}
.cm-s-tomorrow-night-blue .cm-keyword {
color: null;
}
.cm-s-tomorrow-night-blue .cm-operator {
color: null;
}
.cm-s-tomorrow-night-blue .CodeMirror-linenumber {
color: #7285B7;
}

View File

@@ -0,0 +1,53 @@
.cm-s-venom {
font-family: monospace;
background: #0D0D0D;
color: #BFBFBF;
}
.cm-s-venom .CodeMirror-gutters {
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.5);
background-color: #0D0D0D;
z-index: 3;
border: none;
}
.cm-s-venom div.CodeMirror-cursor {
border-left: 3px solid #BFBFBF;
}
.cm-s-venom .CodeMirror-activeline-background {
background: #191919;
}
.cm-s-venom .CodeMirror-selected {
background: #000000;
}
.cm-s-venom .cm-string {
font-style: italic;
color: #2E8C3C;
}
.cm-s-venom .cm-comment {
font-style: italic;
color: #3D5473;
}
.cm-s-venom .cm-number {
color: #404251;
}
.cm-s-venom .cm-atom {
color: #404251;
}
.cm-s-venom .cm-keyword {
color: #6986BF;
}
.cm-s-venom .cm-variable {
color: #6248A8;
}
.cm-s-venom .cm-def {
color: #A7575C;
}
.cm-s-venom .cm-property {
color: #404251;
}
.cm-s-venom .cm-operator {
color: #6986BF;
}
.cm-s-venom .CodeMirror-linenumber {
color: italic;
}

View File

@@ -1,44 +0,0 @@
/*
Name: yeti
Author: Michael Kaminsky (http://github.com/mkaminsky11)
Original yeti color scheme by Jesse Weed (https://github.com/jesseweed/yeti-syntax)
*/
.cm-s-yeti.CodeMirror {
background-color: #ECEAE8 !important;
color: #d1c9c0 !important;
border: none;
}
.cm-s-yeti .CodeMirror-gutters {
color: #adaba6;
background-color: #E5E1DB;
border: none;
}
.cm-s-yeti .CodeMirror-cursor { border-left: solid thin #d1c9c0; }
.cm-s-yeti .CodeMirror-linenumber { color: #adaba6; }
.cm-s-yeti.CodeMirror-focused div.CodeMirror-selected { background: #DCD8D2; }
.cm-s-yeti .CodeMirror-line::selection, .cm-s-yeti .CodeMirror-line > span::selection, .cm-s-yeti .CodeMirror-line > span > span::selection { background: #DCD8D2; }
.cm-s-yeti .CodeMirror-line::-moz-selection, .cm-s-yeti .CodeMirror-line > span::-moz-selection, .cm-s-yeti .CodeMirror-line > span > span::-moz-selection { background: #DCD8D2; }
.cm-s-yeti span.cm-comment { color: #d4c8be; }
.cm-s-yeti span.cm-string, .cm-s-yeti span.cm-string-2 { color: #96c0d8; }
.cm-s-yeti span.cm-number { color: #a074c4; }
.cm-s-yeti span.cm-variable { color: #55b5db; }
.cm-s-yeti span.cm-variable-2 { color: #a074c4; }
.cm-s-yeti span.cm-def { color: #55b5db; }
.cm-s-yeti span.cm-operator { color: #9fb96e; }
.cm-s-yeti span.cm-keyword { color: #9fb96e; }
.cm-s-yeti span.cm-atom { color: #a074c4; }
.cm-s-yeti span.cm-meta { color: #96c0d8; }
.cm-s-yeti span.cm-tag { color: #96c0d8; }
.cm-s-yeti span.cm-attribute { color: #9fb96e; }
.cm-s-yeti span.cm-qualifier { color: #96c0d8; }
.cm-s-yeti span.cm-property { color: #a074c4; }
.cm-s-yeti span.cm-builtin { color: #a074c4; }
.cm-s-yeti span.cm-variable-3 { color: #96c0d8; }
.cm-s-yeti .CodeMirror-activeline-background { background: #E7E4E0; }
.cm-s-yeti .CodeMirror-matchingbracket { text-decoration: underline; }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 B

View File

@@ -0,0 +1,21 @@
MIT License for https://github.com/tabler/tabler-icons
Copyright (c) 2020 Paweł Kuna
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-triangle" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<path d="M12 9v2m0 4v.01" />
<path d="M5.07 19H19a2 2 0 0 0 1.75 -2.75L13.75 4a2 2 0 0 0 -3.5 0L3.25 16.25a2 2 0 0 0 1.75 2.75" />
</svg>

After

Width:  |  Height:  |  Size: 426 B

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-browser" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<rect x="4" y="4" width="16" height="16" rx="1" />
<line x1="4" y1="8" x2="20" y2="8" />
<line x1="8" y1="4" x2="8" y2="8" />
</svg>

After

Width:  |  Height:  |  Size: 418 B

View File

@@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-bug" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<path d="M9 9v-1a3 3 0 0 1 6 0v1" />
<path d="M8 9h8a6 6 0 0 1 1 3v3a5 5 0 0 1 -10 0v-3a6 6 0 0 1 1 -3" />
<line x1="3" y1="13" x2="7" y2="13" />
<line x1="17" y1="13" x2="21" y2="13" />
<line x1="12" y1="20" x2="12" y2="14" />
<line x1="4" y1="19" x2="7.35" y2="17" />
<line x1="20" y1="19" x2="16.65" y2="17" />
<line x1="4" y1="7" x2="7.75" y2="9.4" />
<line x1="20" y1="7" x2="16.25" y2="9.4" />
</svg>

After

Width:  |  Height:  |  Size: 712 B

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-database" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<ellipse cx="12" cy="6" rx="8" ry="3"></ellipse>
<path d="M4 6v6a8 3 0 0 0 16 0v-6" />
<path d="M4 12v6a8 3 0 0 0 16 0v-6" />
</svg>

After

Width:  |  Height:  |  Size: 419 B

View File

@@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-git-compare" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<circle cx="6" cy="6" r="2" />
<circle cx="18" cy="18" r="2" />
<path d="M11 6h5a2 2 0 0 1 2 2v8" />
<polyline points="14 9 11 6 14 3" />
<path d="M13 18h-5a2 2 0 0 1 -2 -2v-8" />
<polyline points="10 15 13 18 10 21" />
</svg>

After

Width:  |  Height:  |  Size: 528 B

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-info-circle" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<circle cx="12" cy="12" r="9" />
<line x1="12" y1="8" x2="12.01" y2="8" />
<polyline points="11 12 12 12 12 16 13 16" />
</svg>

After

Width:  |  Height:  |  Size: 417 B

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-layout-columns" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<rect x="4" y="4" width="16" height="16" rx="2" />
<line x1="12" y1="4" x2="12" y2="20" />
</svg>

After

Width:  |  Height:  |  Size: 386 B

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-layout-list" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<rect x="4" y="4" width="16" height="6" rx="2" />
<rect x="4" y="14" width="16" height="6" rx="2" />
</svg>

After

Width:  |  Height:  |  Size: 393 B

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-lock-open" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<rect x="5" y="11" width="14" height="10" rx="2" />
<circle cx="12" cy="16" r="1" />
<path d="M8 11v-5a4 4 0 0 1 8 0" />
</svg>

After

Width:  |  Height:  |  Size: 415 B

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-lock" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<rect x="5" y="11" width="14" height="10" rx="2" />
<circle cx="12" cy="16" r="1" />
<path d="M8 11v-4a4 4 0 0 1 8 0v4" />
</svg>

After

Width:  |  Height:  |  Size: 412 B

View File

@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plug" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<path d="M7 7h10v6a3 3 0 0 1 -3 3h-4a3 3 0 0 1 -3 -3v-6" />
<line x1="9" y1="3" x2="9" y2="7" />
<line x1="15" y1="3" x2="15" y2="7" />
<path d="M12 16v2a2 2 0 0 0 2 2h3" />
</svg>

After

Width:  |  Height:  |  Size: 467 B

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-plus" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<line x1="12" y1="5" x2="12" y2="19" />
<line x1="5" y1="12" x2="19" y2="12" />
</svg>

After

Width:  |  Height:  |  Size: 365 B

View File

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-rotate-clockwise" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<path d="M4.05 11a8 8 0 1 1 .5 4m-.5 5v-5h5" />
</svg>

After

Width:  |  Height:  |  Size: 341 B

View File

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-square" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<rect x="4" y="4" width="16" height="16" rx="2" />
</svg>

After

Width:  |  Height:  |  Size: 334 B

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-terminal-2" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<path d="M8 9l3 3l-3 3" />
<line x1="13" y1="15" x2="16" y2="15" />
<rect x="3" y="4" width="18" height="16" rx="2" />
</svg>

After

Width:  |  Height:  |  Size: 414 B

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-x" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z"/>
<line x1="18" y1="6" x2="6" y2="18" />
<line x1="6" y1="6" x2="18" y2="18" />
</svg>

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 B

File diff suppressed because it is too large Load Diff

View File

@@ -246,7 +246,7 @@ class File
if ("image" === fileType) {
parent.parent.document.getElementById(\'blackMask\').style.visibility = "visible";
parent.parent.document.getElementById(\'mediaContainer\').innerHTML =
"<canvas id=\"canvasPicker\" width=\"1\" height=\"1\" style=\"position: absolute; margin: 10px 0 0 10px; cursor: crosshair\" onmouseover=\"parent.parent.ICEcoder.overPopup=true\" onmouseout=\"parent.parent.ICEcoder.overPopup=false\"></canvas>" +
"<canvas id=\"canvasPicker\" width=\"1\" height=\"1\" style=\"position: absolute; margin: 10px 0 0 10px; cursor: crosshair\"></canvas>" +
"<img src=\"' . ((isset($ftpSite) ? $ftpSite : "") . $fileLoc . "/" . $fileName . "?unique=" . microtime(true)) .'\" style=\"border: solid 10px #fff; max-width: 700px; max-height: 500px; background-color: #000; background-image: url(\'assets/images/checkerboard.png\')\" onLoad=\"reducedImgMsg = (this.naturalWidth > 700 || this.naturalHeight > 500) ? \', ' .$t['displayed at'] . '\' + this.width + \' x \' + this.height : \'\'; document.getElementById(\'imgInfo\').innerHTML += \' (\' + this.naturalWidth + \' x \' + this.naturalHeight + reducedImgMsg + \')\'; ICEcoder.initCanvasImage(this); ICEcoder.interactCanvasImage(this)\"><br>" +
"<div style=\"display: inline-block; margin-top: -10px; border: solid 10px #fff; color: #000; background-color: #fff\" id=\"imgInfo\" onmouseover=\"parent.parent.ICEcoder.overPopup=true\" onmouseout=\"parent.parent.ICEcoder.overPopup=false\">" +
"<b>' . $fileLoc . "/" . $fileName . '</b>" +
@@ -510,7 +510,7 @@ class File
if ($item->isDir()) {
mkdir($dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName(), octdec($ICEcoder['newDirPerms']));
} else {
copy($item, $dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName());
copy($item->getPathName(), $dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName());
}
}
} else {

View File

@@ -7,7 +7,7 @@ class Settings
public function __construct()
{
// Set version number and document root as core settings
$this->versionNo = "8.0 beta";
$this->versionNo = "8.0";
$this->docRoot = $_SERVER['DOCUMENT_ROOT'];
}
@@ -171,7 +171,7 @@ class Settings
return $this->setConfigUsersSettings($fileName, $settings);
}
public function updateConfigUsersCreateDate($fileName): void
public function updateConfigUsersCreateDate($fileName)
{
global $ICEcoderUserSettings;
@@ -191,7 +191,7 @@ class Settings
$ICEcoderUserSettings['configCreateDate'] = $filemtime;
}
public function createIPSettingsFileIfNotExist(): void
public function createIPSettingsFileIfNotExist()
{
global $username, $settingsFile, $settingsFileAddr;
@@ -201,7 +201,7 @@ class Settings
$serverAddr = "127.0.0.1";
}
$settingsFileAddr = 'config-' . $username . str_replace(".", "_", $serverAddr) . '.php';
if (true === file_exists(dirname(__FILE__) . "/../data/" . $settingsFileAddr)) {
if (false === file_exists(dirname(__FILE__) . "/../data/" . $settingsFileAddr)) {
if (false === copy(dirname(__FILE__) . "/../data/" . $settingsFile, dirname(__FILE__) . "/../data/" . $settingsFileAddr)) {
$reqsFailures = ["phpCreateSettingsFileAddr"];
include dirname(__FILE__) . "/../lib/requirements.php";

View File

@@ -7,7 +7,7 @@ class System
/**
* @param $path
*/
private function createDirIfNotExists($path): void
private function createDirIfNotExists($path)
{
if (false === file_exists($path)) {
mkdir($path);
@@ -26,7 +26,7 @@ class System
}
}
public function setErrorHandling(): void
public function setErrorHandling()
{
// Don't display, but log all errors
ini_set('display_errors', '0');
@@ -41,7 +41,7 @@ class System
* @param $file
* @param $msg
*/
public function writeLog($file, $msg): void
public function writeLog($file, $msg)
{
$this->createDirIfNotExists(dirname(__FILE__) . '/../data/logs');
$this->createDirIfNotExists(dirname(__FILE__) . '/../data/logs/processes');
@@ -50,7 +50,7 @@ class System
fclose($fh);
}
public function setTimeZone(): void
public function setTimeZone()
{
// Set our default timezone and suppress warning with @
@date_default_timezone_set(date_default_timezone_get());
@@ -74,7 +74,7 @@ class System
/**
* @param $path
*/
public function invalidateOPCache($path): void
public function invalidateOPCache($path)
{
if (function_exists('opcache_invalidate')) {
opcache_invalidate($path, true);
@@ -148,4 +148,30 @@ class System
return $contents;
}
/**
* @param $dark
* @return string
*/
public function getDemoModeIndicator($dark = false) {
global $ICEcoder, $text;
if (true === $ICEcoder["demoMode"]) {
$darkExtra = true === $dark
? '.demoModeIndicator::after {position: absolute; top: 0; width: 0; height: 0; border-style: solid; border-width: 30px 0 0 30px; border-color: transparent transparent transparent #1c1c19; content: \'\'; z-index: 1}'
: '';
$content = '
<style>
.demoModeIndicator {position: absolute; top: -30px; right: 0; width: 0; height: 0; border-top: 30px solid transparent; border-bottom: 30px solid transparent; border-right: 30px solid #b00; color: #fff; z-index: 1}
.demoModeIndicator svg {position: fixed; display: inline-block; width: 24px; height: 32px; right: 0; margin-right: 0; top: -3px}
' . $darkExtra . '
</style>
';
$content .= '
<div class="demoModeIndicator" title="' . $text['demo-mode']['Demo mode'] . '">' . file_get_contents(dirname(__FILE__) . "/../assets/images/icons/lock.svg") .'</div>
';
return $content;
}
return "";
}
}

View File

@@ -28,7 +28,7 @@ class ExtraProcesses
* @param $action
* @param string $msg
*/
private function writeLog($action, $msg = ""): void
private function writeLog($action, $msg = "")
{
$username = "" !== $this->username ? $this->username : "default-user";
@@ -56,7 +56,7 @@ class ExtraProcesses
/**
*
*/
public function onFileLoad(): void
public function onFileLoad()
{
// PHP example:
// $this->writeLog("FILE LOAD");
@@ -225,7 +225,7 @@ class ExtraProcesses
/**
* @param string $username
*/
public function onUserNew($username = ""): void
public function onUserNew($username = "")
{
// PHP example:
// $this->writeLog("USER NEW", $username ?? "");
@@ -234,7 +234,7 @@ class ExtraProcesses
/**
* @param string $username
*/
public function onUserLogin($username = ""): void
public function onUserLogin($username = "")
{
// PHP example:
// $this->writeLog("USER LOGIN", $username ?? "");
@@ -243,7 +243,7 @@ class ExtraProcesses
/**
* @param string $username
*/
public function onUserLogout($username = ""): void
public function onUserLogout($username = "")
{
// PHP example:
// $this->writeLog("USER LOGOUT", $username ?? "");
@@ -252,7 +252,7 @@ class ExtraProcesses
/**
* @param string $username
*/
public function onUserLoginFail($username = ""): void
public function onUserLoginFail($username = "")
{
// PHP example:
// $this->writeLog("USER LOGIN FAIL", $username ?? "");
@@ -262,7 +262,7 @@ class ExtraProcesses
* @param string $result
* @param string $status
*/
public function onBugCheckResult($result = "", $status = ""): void
public function onBugCheckResult($result = "", $status = "")
{
// PHP example:
// $this->writeLog("BUG CHECK", $result . " : ". var_export($status, true));

10
composer.json Normal file
View File

@@ -0,0 +1,10 @@
{
"name": "icecoder/icecoder",
"description": "Browser based code editor allowing you to code from anywhere",
"keywords": ["code", "editor", "browser", "ide"],
"homepage": "https://icecoder.net",
"license": "MIT",
"require": {
"php": "^7.0"
}
}

View File

@@ -5,9 +5,9 @@ $t = $text['editor'];
?>
<!DOCTYPE html>
<html style="margin: 0" onmousedown="parent.ICEcoder.mouseDown = true; parent.ICEcoder.resetAutoLogoutTimer()" onMouseUp="parent.ICEcoder.mouseDown = false; parent.ICEcoder.mouseDownInCM = false; parent.ICEcoder.resetAutoLogoutTimer(); if (!parent.ICEcoder.overCloseLink) {parent.ICEcoder.tabDragEnd()}" onmousemove="if(parent.ICEcoder) {parent.ICEcoder.getMouseXY(event, 'editor'); parent.ICEcoder.functionArgsTooltip(event, 'editor'); parent.ICEcoder.resetAutoLogoutTimer(); parent.ICEcoder.canResizeFilesW()}" ondrop="if(parent.ICEcoder) {parent.ICEcoder.getMouseXY(event, 'editor')}">
<html style="margin: 0" onmousedown="parent.ICEcoder.mouseDown = true; parent.ICEcoder.resetAutoLogoutTimer()" onmouseup="parent.ICEcoder.mouseDown = false; parent.ICEcoder.mouseDownInCM = false; parent.ICEcoder.resetAutoLogoutTimer(); if (!parent.ICEcoder.overCloseLink) {parent.ICEcoder.tabDragEnd()}" onmousemove="if (parent.ICEcoder) {parent.ICEcoder.getMouseXY(event, 'editor'); parent.ICEcoder.functionArgsTooltip(event, 'editor'); parent.ICEcoder.resetAutoLogoutTimer(); parent.ICEcoder.canResizeFilesW()}" ondrop="if (parent.ICEcoder) {parent.ICEcoder.getMouseXY(event, 'editor')}">
<head>
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> editor</title>
<title>ICEcoder v<?php echo $ICEcoder["versionNo"];?> editor</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex, nofollow">
<link rel="stylesheet" href="assets/css/codemirror.css?microtime=<?php echo microtime(true);?>">
@@ -15,39 +15,37 @@ $t = $text['editor'];
<link rel="stylesheet" href="assets/css/lint.css?microtime=<?php echo microtime(true);?>">
<!--
codemirror-compressed.js
incls: codemirror
modes: clike, coffeescript, css, erlang, go, htmlmixed, javascript, julia, lua, markdown, perl, php, python, ruby, sass, sql, xml, yaml
addon: brace-fold, closebrackets, closetag, css-hint, foldcode, foldgutter, html-hint, javascript-hint, javascript-lint, lint, match-highlighter, matchbrackets, runmode, searchcursor, show-hint, simplescrollbars, sql-hint, trailingspace, xml-fold, xml-hint
- incls: codemirror
- modes: clike, coffeescript, css, erlang, go, htmlmixed, javascript, julia, lua, markdown, perl, php, python, ruby, sass, sql, xml, yaml
- addon: brace-fold, closebrackets, closetag, css-hint, foldcode, foldgutter, html-hint, javascript-hint, javascript-lint, lint, match-highlighter, matchbrackets, runmode, searchcursor, show-hint, simplescrollbars, sql-hint, trailingspace, xml-fold, xml-hint
//-->
<script src="assets/js/codemirror-compressed.js?microtime=<?php echo microtime(true);?>"></script>
<?php
if (true === file_exists(dirname(__FILE__)."/plugins/jshint/jshint-2.5.6.min.js")) {
echo '<script src="plugins/jshint/jshint-2.5.6.min.js?microtime=' . microtime(true) . '"></script>';
};
$pluginFiles = [
"jshint/jshint-2.5.6.min.js",
"emmet/emmet.min.js",
"pesticide/pesticide.js",
"stats.js/stats.min.js",
"responsive-helper/responsive-helper.js"
];
if (true === file_exists(dirname(__FILE__)."/plugins/emmet/emmet.min.js")) {
echo '<script src="plugins/emmet/emmet.min.js?microtime=' . microtime(true) . '"></script>';
};
if (true === file_exists(dirname(__FILE__)."/plugins/pesticide/pesticide.js")) {
echo '<script src="plugins/pesticide/pesticide.js?microtime=' . microtime(true) . '"></script>';
};
if (true === file_exists(dirname(__FILE__)."/plugins/stats.js/stats.min.js")) {
echo '<script src="plugins/stats.js/stats.min.js?microtime=' . microtime(true) . '"></script>';
};
if (true === file_exists(dirname(__FILE__)."/plugins/responsive-helper/responsive-helper.js")) {
echo '<script src="plugins/responsive-helper/responsive-helper.js?microtime=' . microtime(true) . '"></script>';
};?>
for ($i = 0; $i < count($pluginFiles); $i++) {
if (true === file_exists(dirname(__FILE__) . "/plugins/" . $pluginFiles[$i])) {
echo '<script src="plugins/' . $pluginFiles[$i] . '?microtime=' . microtime(true) . '"></script>' . PHP_EOL;
}
}
?>
<link rel="stylesheet" href="<?php
echo dirname(basename(__DIR__)) . '/assets/css/theme/';
echo "default" === $ICEcoder["theme"] ? 'icecoder.css' : $ICEcoder["theme"] . '.css';
echo "?microtime=" . microtime(true);
if (false !== array_search($ICEcoder["theme"], ["3024-day","base16-light","eclipse","elegant","mdn-like","neat","neo","paraiso-light","solarized","the-matrix","xq-light"])) {
// Light themes
if (false !== array_search($ICEcoder["theme"], ["base16-light", "chrome-devtools", "duotone-light", "eclipse", "eiffel", "elegant", "mdn-like", "idle", "iplastic", "ir_white", "johnny", "juicy", "neat", "neo", "solarized", "ttcn", "xq-light"])) {
$activeLineBG = "#ccc";
} elseif (false !== array_search($ICEcoder["theme"], ["3024-night","blackboard","colorforth","liquibyte","night","tomorrow-night-bright","tomorrow-night-eighties","vibrant-ink"])) {
$activeLineBG = "#888";
// Dark themes
} elseif (false !== array_search($ICEcoder["theme"], ["3024-night", "all-hallow-eve", "black-pearl-ii", "blackboard", "colorforth", "django", "emacs-strict", "fade-to-grey", "fake", "glitterbomb", "isotope", "ir_black", "liquibyte", "monokai-fannonedition", "oceanic", "night", "spectacular", "sunburst", "the-matrix", "tomorrow-night-blue", "tomorrow-night-bright", "tomorrow-night-eighties", "vibrant-ink", "xq-dark", "zenburn"])) {
$activeLineBG = "#222";
// Other themes
} else {
$activeLineBG = "#000";
}
@@ -70,18 +68,18 @@ if (false !== array_search($ICEcoder["theme"], ["3024-day","base16-light","eclip
background-position: bottom left;
background-repeat: repeat-x;
}
.code-zoomed-out { font-size: 2px }
.CodeMirror-foldmarker {font-family: arial; line-height: .3; color: #b00; cursor: pointer;
.code-zoomed-out {font-size: 2px}
.CodeMirror-foldmarker {font-family: arial; line-height: 0.3; color: #b00; cursor: pointer;
text-shadow: #fff 1px 1px 2px, #fff -1px -1px 2px, #fff 1px -1px 2px, #fff -1px 1px 2px;
}
.CodeMirror-foldgutter {display: inline-block; width: 13px}
.CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded {position: absolute; display: inline-block; width: 13px; height: 13px; font-size: 14px; text-align: center; cursor: pointer}
.CodeMirror-foldgutter-open {background: rgba(255,255,255,0.04); color: #666}
.CodeMirror-foldgutter-open:after {position: relative; top: -2px}
.CodeMirror-foldgutter-open:after {position: relative; top: -4px}
.CodeMirror-foldgutter-folded {background: #800; color: #ddd}
.CodeMirror-foldgutter-folded:after {position: relative; top: -3px}
.CodeMirror-foldgutter-folded:after {position: relative; top: -4px}
h2 {color: rgba(0,198,255,0.7)}
.heading {color:#888}
.heading {color: #888}
.cm-s-diff {left: 50%}
.diffGreen {background: #0b0 !important; color: #000 !important}
.diffRed {background: #800 !important; color: #fff !important}
@@ -89,6 +87,8 @@ h2 {color: rgba(0,198,255,0.7)}
.diffGreyLighter {background: #888 !important; color: #1d1d1b !important}
.diffNone {}
.info {font-size: 10px; color: rgba(0,198,255,0.7); cursor: help}
.dataItems {float: left; line-height: 14px}
.dataItems span {line-height: 21px}
</style>
<link rel="stylesheet" href="assets/css/file-types.css?microtime=<?php echo microtime(true);?>">
<link rel="stylesheet" href="assets/css/file-type-icons.css?microtime=<?php echo microtime(true);?>">
@@ -99,12 +99,12 @@ h2 {color: rgba(0,198,255,0.7)}
<div style="display: none; margin: 32px 43px 0 43px; padding: 10px; width: 500px; font-family: arial; font-size: 10px; color: #ddd; background: #333" id="dataMessage"></div>
<div style="margin: 20px 43px 32px 43px; font-family: arial; font-size: 10px; color: #ddd">
<div style="float: left; width: 300px; margin-right: 50px">
<div class="dataItems" style="width: 300px; margin-right: 50px">
<h2><?php echo $t['server'];?></h2>
<span class="heading"><?php echo $t['Server name, OS...'];?></span><br>
<?php
$serverAddr = $_SERVER['SERVER_ADDR'] ?? "1";
if ($serverAddr == "1" || $serverAddr == "::1") {
if ("1" == $serverAddr || "::1" == $serverAddr) {
$serverAddr = "127.0.0.1";
}
echo
@@ -115,22 +115,22 @@ h2 {color: rgba(0,198,255,0.7)}
<span class="heading"><?php echo $t['Root'];?></span><br>
<?php echo $docRoot;?><br><br>
<span class="heading"><?php echo $t['ICEcoder root'];?></span><br>
<?php echo $docRoot.$iceRoot;?><br><br>
<?php echo "" !== $iceRoot ? $iceRoot : "[Default]";?><br><br>
<span class="heading"><?php echo $t['PHP version'];?></span><br>
<?php echo phpversion();?><br><br>
<span class="heading"><?php echo $t['Date & time'];?></span><br>
<span id="serverDT"></span><br><br>
<h2><?php echo $t['your device'];?></h2>
<span class="heading"><?php echo $t['Browser'];?></span><br>
<?php echo xssClean($_SERVER['HTTP_USER_AGENT'],"html");?><br><br>
<?php echo xssClean($_SERVER['HTTP_USER_AGENT'], "html");?><br><br>
<span class="heading"><?php echo $t['Your IP'];?></span><br>
<?php echo getUserIP();?><br><br>
</div>
<div style="float: left">
<div class="dataItems">
<h2><?php echo $t['files'];?></h2>
<span class="heading"><?php echo $t['Last 10 files...'];?></span><br>
<ul class="fileManager" id="last10Files" style="margin-left: 0; line-height: 20px"><?php
<ul class="fileManager" id="last10Files" style="margin-top: 5px; margin-left: 0; line-height: 21px"><?php
if (empty($ICEcoder["last10Files"])) {
echo '<div style="display: inline-block; margin-left: -39px; margin-top: -4px">' . $t['none'] . '</div><br>';
} else {
@@ -139,8 +139,8 @@ h2 {color: rgba(0,198,255,0.7)}
// Get extension (prefix 'ext-' to prevent invalid classes from extensions that begin with numbers)
$ext = "ext-" . pathinfo($docRoot . $iceRoot . $fileFolderName, PATHINFO_EXTENSION);
echo '<li class="pft-file ' . strtolower($ext) . '" style="margin-left: -21px">';
echo '<a style="cursor:pointer" onClick="parent.ICEcoder.openFile(\'' . str_replace($docRoot, "", str_replace("|", "/", $ICEcoder["last10Files"][$i])) . '\')">';
echo str_replace($docRoot, "", str_replace("|", "/", $ICEcoder["last10Files"][$i]));
echo '<a style="position: relative; top: -2px; left: 5px; cursor: pointer" onclick="parent.ICEcoder.openFile(\'' . str_replace($docRoot, "", str_replace("|", "/", $ICEcoder["last10Files"][$i])) . '\')">';
echo preg_replace("/^\//", "", str_replace($docRoot, "", str_replace("|", "/", $ICEcoder["last10Files"][$i])));
echo '</a></li>';
if ($i > 0) {
echo PHP_EOL;
@@ -157,13 +157,29 @@ h2 {color: rgba(0,198,255,0.7)}
<?php
}
?>
<h2>ICEcoder</h2>
<span class="heading"><?php echo $t['version'];?></span><br>
<?php
// If we have a .git dir, get the Git short commit hash to display as a link
$gitCommitTextLink = "";
if (is_dir(dirname(__FILE__) . "/.git")) {
$gitCommit = trim(exec('git log --pretty="%h" -n1 HEAD'));
$gitCommitTextLink = ' (Git commit: <a href="https://github.com/icecoder/ICEcoder/commit/' . $gitCommit . '" style="color: #eee; text-decoration: none" target="_blank">' . $gitCommit . '</a>)';
}
echo "v" . $ICEcoder["versionNo"] . $gitCommitTextLink;
?><br><br>
<span class="heading"><?php echo $t['codemirror version'];?></span><br>
<script>
document.write(CodeMirror.version);
</script>
<br><br>
</div>
<div style="clear: both"></div>
<script>
var nDT = <?php echo time() * 1000;?>;
let nDT = <?php echo time() * 1000;?>;
setInterval(function(){
var s = (new Date(nDT += 1e3) + '').split(' '),
let s = (new Date(nDT += 1e3) + '').split(' '),
d = s[2] * 1,
t = s[4].split(':'),
p = t[0] > 11 ? 'pm' : 'am',
@@ -181,7 +197,7 @@ CodeMirror.keyMap.ICEcoder = {
"Tab": function(cm) {
return cm.somethingSelected()
? (parent.ICEcoder.indentAuto
? cm.execCommand("indentAuto") // Honour our own setting indentAuto
? cm.execCommand("indentAuto") // Honor our own setting indentAuto
: cm.indentSelection("add") // Add indent (this is default handler in CodeMirror)
)
: CodeMirror.Pass // Falls through to default or Emmet plugin
@@ -196,7 +212,7 @@ CodeMirror.keyMap.ICEcoder = {
};
// CodeMirror does not honor indentWithTabs = false properly when handling Tab key
// Marijn said that it is by design, so we need to make a workaround of our own
// It does this by design, so we need to make a workaround of our own
(function(){
// let's back up original insertTab function which actually puts
var originalInsertTabFunction = CodeMirror.commands.insertTab;
@@ -241,8 +257,8 @@ function createNewCMInstance(num) {
};
// Start editor instances, main and diff
window['cM'+num] = CodeMirror(document.body, cMOptions);
window['cM'+num+'diff'] = CodeMirror(document.body, cMOptions);
window['cM' + num] = CodeMirror(document.body, cMOptions);
window['cM' + num + 'diff'] = CodeMirror(document.body, cMOptions);
// Define actions for those...
createNewCMInstanceEvents(num, '');
@@ -254,28 +270,27 @@ function createNewCMInstance(num) {
};
function createNewCMInstanceEvents(num, pane) {
window['cM'+num+pane].on("focus", function(thisCM) {parent.ICEcoder.cMonFocus(thisCM, 'cM' + num + pane)});
window['cM'+num+pane].on("blur", function(thisCM) {parent.ICEcoder.cMonBlur(thisCM, 'cM' + num + pane)});
window['cM'+num+pane].on("keyup", function(thisCM) {parent.ICEcoder.cMonKeyUp(thisCM, 'cM' + num + pane)});
window['cM'+num+pane].on("cursorActivity", function(thisCM) {parent.ICEcoder.cMonCursorActivity(thisCM, 'cM' + num + pane)});
window['cM'+num+pane].on("beforeSelectionChange", function(thisCM, changeObj) {parent.ICEcoder.prevLine = thisCM.getCursor().line;});
window['cM'+num+pane].on("change", function(thisCM, changeObj) {parent.ICEcoder.cMonChange(thisCM, 'cM' + num + pane, changeObj, CodeMirror)});
window['cM'+num+pane].on("beforeChange", function(thisCM, changeObj) {parent.ICEcoder.cMonBeforeChange(thisCM, 'cM' + num + pane, changeObj, CodeMirror)});
window['cM'+num+pane].on("scroll", function(thisCM) {parent.ICEcoder.cMonScroll(thisCM, 'cM' + num + pane)});
window['cM'+num+pane].on("update", function(thisCM) {parent.ICEcoder.cMonUpdate(thisCM, 'cM' + num + pane)});
window['cM'+num+pane].on("inputRead", function(thisCM) {parent.ICEcoder.cMonInputRead(thisCM, 'cM' + num + pane)});
window['cM'+num+pane].on("gutterClick", function(thisCM,line,gutter,evt) {parent.ICEcoder.cMonGutterClick(thisCM, line, gutter, evt, 'cM' + num + pane)});
window['cM'+num+pane].on("mousedown", function(thisCM,evt) {parent.ICEcoder.cMonMouseDown(thisCM, 'cM' + num + pane, evt)});
window['cM'+num+pane].on("contextmenu", function(thisCM,evt) {parent.ICEcoder.cMonContextMenu(thisCM, 'cM' + num + pane, evt)});
window['cM'+num+pane].on("dragover", function(thisCM) {parent.ICEcoder.cMonDragOver(thisCM, event, 'cM' + num + pane)});
window['cM'+num+pane].on("renderLine", function(thisCM, line, element) {parent.ICEcoder.cMonRenderLine(thisCM, 'cM' + num + pane, line, element)});
window['cM' + num + pane].on("focus", function(thisCM) {parent.ICEcoder.cMonFocus(thisCM, 'cM' + num + pane)});
window['cM' + num + pane].on("blur", function(thisCM) {parent.ICEcoder.cMonBlur(thisCM, 'cM' + num + pane)});
window['cM' + num + pane].on("keyup", function(thisCM) {parent.ICEcoder.cMonKeyUp(thisCM, 'cM' + num + pane)});
window['cM' + num + pane].on("cursorActivity", function(thisCM) {parent.ICEcoder.cMonCursorActivity(thisCM, 'cM' + num + pane)});
window['cM' + num + pane].on("beforeSelectionChange", function(thisCM, changeObj) {parent.ICEcoder . prevLine = thisCM.getCursor().line;});
window['cM' + num + pane].on("change", function(thisCM, changeObj) {parent.ICEcoder.cMonChange(thisCM, 'cM' + num + pane, changeObj, CodeMirror)});
window['cM' + num + pane].on("beforeChange", function(thisCM, changeObj) {parent.ICEcoder.cMonBeforeChange(thisCM, 'cM' + num + pane, changeObj, CodeMirror)});
window['cM' + num + pane].on("scroll", function(thisCM) {parent.ICEcoder.cMonScroll(thisCM, 'cM' + num + pane)});
window['cM' + num + pane].on("update", function(thisCM) {parent.ICEcoder.cMonUpdate(thisCM, 'cM' + num + pane)});
window['cM' + num + pane].on("inputRead", function(thisCM) {parent.ICEcoder.cMonInputRead(thisCM, 'cM' + num + pane)});
window['cM' + num + pane].on("gutterClick", function(thisCM, line, gutter, evt) {parent.ICEcoder.cMonGutterClick(thisCM, line, gutter, evt, 'cM' + num + pane)});
window['cM' + num + pane].on("mousedown", function(thisCM, evt) {parent.ICEcoder.cMonMouseDown(thisCM, 'cM' + num + pane, evt)});
window['cM' + num + pane].on("paste", function(thisCM, evt) {parent.ICEcoder.cMonPaste(thisCM, 'cM' + num + pane, evt, (evt.clipboardData || window.clipboardData))});
window['cM' + num + pane].on("contextmenu", function(thisCM, evt) {parent.ICEcoder.cMonContextMenu(thisCM, 'cM' + num + pane, evt)});
window['cM' + num + pane].on("dragover", function(thisCM) {parent.ICEcoder.cMonDragOver(thisCM, event, 'cM' + num + pane)});
window['cM' + num + pane].on("renderLine", function(thisCM, line, element) {parent.ICEcoder.cMonRenderLine(thisCM, 'cM' + num + pane, line, element)});
}
</script>
<div style="position: absolute; display: none; width: 12px; height: 100%; top: 0; right: 0; overflow: hidden; pointer-events: none; z-index: 2" id="resultsBar"></div>
<div style="position: absolute; display: none; height: 100%; width: 100%; top: 0; padding: 3px 0 0 60px; line-height: 16px; font-family: monospace; font-size: 13px; z-index: 2147483647" id="game"></div>
<script>
CodeMirror.commands.autocomplete = function(cM) {
let langType = parent.ICEcoder.caretLocType;

View File

@@ -5,33 +5,33 @@ $t = $text['files'];
?>
<!DOCTYPE html>
<html onmousedown="parent.ICEcoder.mouseDown = true; parent.ICEcoder.resetAutoLogoutTimer(); parent.ICEcoder.boxSelect(event, 'down')" onMouseUp="parent.ICEcoder.mouseDown = false; parent.ICEcoder.resetAutoLogoutTimer(); parent.ICEcoder.mouseDownInCM = false; parent.ICEcoder.boxSelect(event, 'up'); if (!parent.ICEcoder.overCloseLink) {parent.ICEcoder.tabDragEnd()}" onmousemove="if(parent.ICEcoder) {parent.ICEcoder.getMouseXY(event, 'files'); parent.ICEcoder.resetAutoLogoutTimer(); parent.ICEcoder.canResizeFilesW(); parent.ICEcoder.boxSelect(event, 'drag')}" ondrop="if(parent.ICEcoder) {parent.ICEcoder.getMouseXY(event, 'files')}" oncontextmenu="parent.ICEcoder.selectFileFolder(event); return parent.ICEcoder.showMenu(event)" onclick="if (!parent.ICEcoder.fmDraggedBox) {parent.ICEcoder.selectFileFolder(event)} else {parent.ICEcoder.fmDraggedBox = false}" ondragstart="parent.ICEcoder.selectFileFolder(event);" ondragover="event.preventDefault(); event.stopPropagation()">
<html onmousedown="parent.ICEcoder.mouseDown = true; parent.ICEcoder.resetAutoLogoutTimer(); parent.ICEcoder.boxSelect(event, 'down')" onmouseup="parent.ICEcoder.mouseDown = false; parent.ICEcoder.resetAutoLogoutTimer(); parent.ICEcoder.mouseDownInCM = false; parent.ICEcoder.boxSelect(event, 'up'); if (!parent.ICEcoder.overCloseLink) {parent.ICEcoder.tabDragEnd()}" onmousemove="if (parent.ICEcoder) {parent.ICEcoder.getMouseXY(event, 'files'); parent.ICEcoder.resetAutoLogoutTimer(); parent.ICEcoder.canResizeFilesW(); parent.ICEcoder.boxSelect(event, 'drag')}" ondrop="if (parent.ICEcoder) {parent.ICEcoder.getMouseXY(event, 'files')}" oncontextmenu="parent.ICEcoder.selectFileFolder(event); return parent.ICEcoder.showMenu(event)" onclick="if (!parent.ICEcoder.fmDraggedBox) {parent.ICEcoder.selectFileFolder(event)} else {parent.ICEcoder.fmDraggedBox = false}" ondragstart="parent.ICEcoder.selectFileFolder(event);" ondragover="event.preventDefault(); event.stopPropagation()">
<head>
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> file manager</title>
<title>ICEcoder v<?php echo $ICEcoder["versionNo"];?> file manager</title>
<meta name="robots" content="noindex, nofollow">
<link rel="stylesheet" type="text/css" href="assets/css/resets.css?microtime=<?php echo microtime(true);?>">
<link rel="stylesheet" type="text/css" href="assets/css/files.css?microtime=<?php echo microtime(true);?>">
<link rel="stylesheet" type="text/css" href="assets/css/file-types.css?microtime=<?php echo microtime(true);?>">
<link rel="stylesheet" type="text/css" href="assets/css/file-type-icons.css?microtime=<?php echo microtime(true);?>">
<!--Updated via settings so must remain 4th stylesheet//-->
<!--Updated via settings so must remain 5th stylesheet//-->
<style>
ul.fileManager li a span { font-size: <?php echo $ICEcoder["fontSize"];?>; }
</style>
</head>
<body onfocus="parent.ICEcoder.files.style.background = '#444'" onblur="parent.ICEcoder.files.style.background = '#383838'" ondblclick="parent.ICEcoder.openFile()" onkeydown="return parent.ICEcoder.interceptKeys('files', event);" onkeyup="parent.ICEcoder.resetKeys(event);" onblur="parent.ICEcoder.resetKeys(event);">
<body onfocus="parent.ICEcoder.files.style.background = '#444'" onblur="parent.ICEcoder.files.style.background = '#383838'" ondblclick="if ('file' === parent.ICEcoder.thisFileFolderType) {parent.ICEcoder.openFile()}" onkeydown="return parent.ICEcoder.interceptKeys('files', event);" onkeyup="parent.ICEcoder.resetKeys(event);" onblur="parent.ICEcoder.resetKeys(event);">
<div title="<?php echo $t['Lock'];?>" onClick="parent.ICEcoder.lockUnlockNav()" id="fmLock" class="lock"></div>
<div title="<?php echo $t['Refresh'];?>" onClick="parent.ICEcoder.refreshFileManager()" class="refresh"></div>
<div title="<?php echo $t['Plugins'];?>" onClick="parent.ICEcoder.showHidePlugins('55px' !== parent.document.getElementById('plugins').style.width ? 'show' : 'hide')" class="plugins"></div>
<div title="<?php echo $t['Lock'];?>" onclick="parent.ICEcoder.lockUnlockNav()" class="lock"><div id="fmLockClosed" style="display: <?php echo true === $ICEcoder["lockedNav"] ? "inline-block" : "none";?>"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/lock.svg");?></div><div id="fmLockOpen" style="display: <?php echo true === $ICEcoder["lockedNav"] ? "none" : "inline-block";?>"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/lock-open.svg");?></div></div>
<div title="<?php echo $t['Refresh'];?>" onclick="parent.ICEcoder.refreshFileManager()" class="refresh"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/rotate-clockwise.svg");?></div>
<div title="<?php echo $t['Plugins'];?>" onclick="parent.ICEcoder.showHidePlugins('55px' !== parent.document.getElementById('plugins').style.width ? 'show' : 'hide')" class="plugins"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/plug.svg");?></div>
<ul class="fileManager">
<li class="pft-directory dirOpen"><a nohref title="/" ondragover="parent.ICEcoder.overFileFolder('folder', '|'); parent.ICEcoder.highlightFileFolder('|', true);" ondragleave="parent.ICEcoder.overFileFolder('folder', ''); parent.ICEcoder.highlightFileFolder('|', false);" onmouseover="parent.ICEcoder.overFileFolder('folder', '|')" onmouseout="parent.ICEcoder.overFileFolder('folder', '')" onclick="parent.ICEcoder.openCloseDir(this)" style="position: relative; left:-22px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span id="|">/ <?php
echo $iceRoot == "" ? $t['ROOT'] : trim($iceRoot, "/");
$thisPermVal = "Windows" !== $serverType ? substr(sprintf('%o', fileperms($docRoot.$iceRoot)), -3) : "";
$permColors = 777 == $thisPermVal ? 'background: #800; color: #eee' : 'color: #888';
?></span> <span style="<?php echo $permColors;?>; font-size: 8px" id="|_perms"><?php echo $thisPermVal;;?></span></a></li><?php
// tree file items generated by the iFrame 'fileControl' below which loads in the items at location=| (ie, the root)
echo $iceRoot == "" ? $t['ROOT'] : trim($iceRoot, "/");
$thisPermVal = "Windows" !== $serverType ? substr(sprintf('%o', fileperms($docRoot . $iceRoot)), -3) : "";
$permColors = 777 == $thisPermVal ? 'background: #800; color: #eee' : 'color: #888';
?></span> <span style="<?php echo $permColors;?>; font-size: 8px" id="|_perms"><?php echo $thisPermVal;?></span></a></li><?php
// tree file items generated by the iFrame 'fileControl' below which loads in the items at location=| (ie, the root)
?>
</ul>

View File

@@ -7,9 +7,9 @@ $t = $text['index'];
$updateMsg = '';
// Check for updates
if ($ICEcoder["checkUpdates"]) {
$icv_url = "https://icecoder.net/latest-version?thisVersion=" . $ICEcoder["versionNo"];
$icvData = getData($icv_url, 'curl', false, 5);
if (true === $ICEcoder["checkUpdates"]) {
$icvURL = "https://icecoder.net/latest-version?thisVersion=" . $ICEcoder["versionNo"];
$icvData = getData($icvURL, 'curl', false, 5);
if ("" == $icvData) {
$icvData = "1.0\nICEcoder version placeholder";
}
@@ -28,7 +28,7 @@ if ($ICEcoder["checkUpdates"]) {
if ($thisV < $icv) {
$updateMsg =
";ICEcoder.dataMessage('<b>" . $t['UPDATE INFO'] .
":</b> ICEcoder v " . $icv." " . $t['now available'] . ". (" . $t['Your version is'] . " v " . $ICEcoder["versionNo"] .
":</b> ICEcoder v" . explode("\n", $icvData)[0] ." " . $t['now available'] . ". (" . $t['Your version is'] . " v" . $ICEcoder["versionNo"] .
").<br><br><a href=\\'https://icecoder.net\\' target=\\'_blank\\' style=\\'color:#fff; background: #b00; padding: 5px; text-decoration: none; cursor: pointer\\'>" .
$t['Update now'] . "</a><br><br>" . $icvI ."');";
}
@@ -37,9 +37,9 @@ if ($ICEcoder["checkUpdates"]) {
$isMac = false !== strpos($_SERVER['HTTP_USER_AGENT'], "Macintosh") ? true : false;
?>
<!DOCTYPE html>
<html onmousedown="ICEcoder.mouseDown=true; ICEcoder.resetAutoLogoutTimer();" onmouseup="ICEcoder.mouseDown=false; ICEcoder.resetAutoLogoutTimer(); ICEcoder.mouseDownInCM=false; if (!ICEcoder.overCloseLink) {ICEcoder.tabDragEnd()}" onmousemove="if('undefined' !== typeof ICEcoder) {ICEcoder.getMouseXY(event,'top'); ICEcoder.resetAutoLogoutTimer(); ICEcoder.canResizeFilesW()}" onmousewheel="ICEcoder.resetAutoLogoutTimer(); if (ICEcoder.getcMInstance() && !ICEcoder.getcMInstance().hasFocus() && !ICEcoder.getcMdiffInstance().hasFocus()) {event.wheelDelta > 0 ? ICEcoder.nextTab() : ICEcoder.previousTab();}">
<html onmousedown="ICEcoder.mouseDown = true; ICEcoder.resetAutoLogoutTimer();" onmouseup="ICEcoder.mouseDown = false; ICEcoder.resetAutoLogoutTimer(); ICEcoder.mouseDownInCM = false; if (!ICEcoder.overCloseLink) {ICEcoder.tabDragEnd()}" onmousemove="if ('undefined' !== typeof ICEcoder) {ICEcoder.getMouseXY(event, 'top'); ICEcoder.resetAutoLogoutTimer(); ICEcoder.canResizeFilesW()}" onmousewheel="ICEcoder.resetAutoLogoutTimer(); if (ICEcoder.getcMInstance() && !ICEcoder.getcMInstance().hasFocus() && !ICEcoder.getcMdiffInstance().hasFocus()) {event.wheelDelta > 0 ? ICEcoder.nextTab() : ICEcoder.previousTab();}">
<head>
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?></title>
<title>ICEcoder v<?php echo $ICEcoder["versionNo"];?></title>
<!--Updated via settings so must remain 1st stylesheet//-->
<style>
#tabsBar.tabsBar .tab { font-size: <?php echo $ICEcoder["fontSize"];?>; }
@@ -53,15 +53,15 @@ $isMac = false !== strpos($_SERVER['HTTP_USER_AGENT'], "Macintosh") ? true : fal
<link rel="stylesheet" href="<?php
echo $iceURLPath . "/assets/css/theme/";
echo "default" === $ICEcoder["theme"] ? 'icecoder.css' : $ICEcoder["theme"] . '.css';
echo "?microtime=".microtime(true);
echo "?microtime=" . microtime(true);
?>">
<link rel="icon" type="image/png" href="<?php echo $iceURLPath;?>/assets/images/favicon.png">
<script>
iceRoot = "<?php echo $ICEcoder['root']; ?>";
window.onbeforeunload = function() {
if(ICEcoder.autoLogoutTimer < ICEcoder.autoLogoutMins * 60) {
for(var i = 1; i <= ICEcoder.savedPoints.length; i++) {
if (ICEcoder.autoLogoutTimer < ICEcoder.autoLogoutMins * 60) {
for (var i = 1; i <= ICEcoder.savedPoints.length; i++) {
if (ICEcoder.savedPoints[i - 1] != ICEcoder.getcMInstance(i).changeGeneration()) {
return "<?php echo $t['You have some...'];?>.";
}
@@ -152,9 +152,9 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
}
$extraProcessesClass = new ExtraProcesses();
$onLoad = $extraProcessesClass->onLoad();
?>ICEcoder.init()<?php echo $updateMsg.$onLoadExtras;?>;ICEcoder.content.style.visibility = 'visible';<?php echo $onLoad;?><?php if(true === isset($_GET["display"]) && "updated" === $_GET["display"]) {echo "ICEcoder.updated();";};?>" onresize="ICEcoder.setLayout()" onkeydown="return ICEcoder.interceptKeys('coder', event);" onkeyup="if('visible' === get('blackMask').style.visibility) {ICEcoder.handleModalKeyUp(event, 'modalGeneralCatch')}; ICEcoder.resetKeys(event);" onblur="ICEcoder.resetKeys(event);">
?>ICEcoder.init()<?php echo $updateMsg . $onLoadExtras;?>;ICEcoder.content.style.visibility = 'visible';<?php echo $onLoad;?><?php if (true === isset($_GET["display"]) && "updated" === $_GET["display"]) {echo "ICEcoder.updated();";};?>" onresize="ICEcoder.setLayout()" onkeydown="return ICEcoder.interceptKeys('coder', event);" onkeyup="if ('visible' === get('blackMask').style.visibility) {ICEcoder.handleModalKeyUp(event, 'modalGeneralCatch')}; ICEcoder.resetKeys(event);" onblur="ICEcoder.resetKeys(event);">
<div id="blackMask" class="blackMask" onclick="if (!ICEcoder.overPopup) {ICEcoder.showHide('hide',this)}" oncontextmenu="return false">
<div id="blackMask" class="blackMask" onclick="if (!ICEcoder.overPopup) {ICEcoder.showHide('hide', this)}" oncontextmenu="return false">
<div class="popupVCenter">
<div class="popup" id="mediaContainer"></div>
</div>
@@ -180,11 +180,11 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
<a nohref onclick="ICEcoder.showColorPicker(document.getElementById('color') ? document.getElementById('color').value : '#123456')" title="Farbtastic
<?php echo $t['Color picker'];?>"><img src="<?php echo $iceURLPath;?>/assets/images/color-picker.png" style="cursor: pointer" alt="Color Picker"></a><br><br>
<div id="pluginsOptional"><?php echo $pluginsDisplay; ?></div>
<a nohref onclick="ICEcoder.pluginsManager()" title="<?php echo $t['Plugins Manager'];?>" style="color: #fff; cursor: pointer">+ / -</a>
<a nohref onclick="ICEcoder.pluginsManager()" title="<?php echo $t['Plugins Manager'];?>" style="color: #ddd; margin-left: 2px; cursor: pointer"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/plus.svg");?></a>
</div>
</div>
<div id="fileMenu" class="fileMenu" onmouseover="ICEcoder.changeFilesW('expand')" onmouseout="ICEcoder.changeFilesW('contract');ICEcoder.hideFileMenu()" style="opacity: 0" oncontextmenu="return false">
<div id="fileMenu" class="fileMenu" onmouseover="ICEcoder.changeFilesW('expand')" onmouseout="ICEcoder.changeFilesW('contract'); ICEcoder.hideFileMenu()" style="opacity: 0" oncontextmenu="return false">
<span id="folderMenuItems">
<a href="javascript:ICEcoder.newFile()" onmouseover="ICEcoder.showFileMenu()"><?php echo $t['New File'];?></a>
<a href="javascript:ICEcoder.newFolder()" onmouseover="ICEcoder.showFileMenu()"><?php echo $t['New Folder'];?></a>
@@ -216,9 +216,9 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
echo '<a href="javascript:ICEcoder.zipIt(ICEcoder.selectedFiles[ICEcoder.selectedFiles.length - 1])" onmouseover="ICEcoder.showFileMenu()">Zip It!</a>' . PHP_EOL;
};
?>
<a href="javascript:ICEcoder.downloadFile(ICEcoder.selectedFiles[ICEcoder.selectedFiles.length-1])" onmouseover="ICEcoder.showFileMenu()"><?php echo $t['Download'];?></a>
<a href="javascript:ICEcoder.downloadFile(ICEcoder.selectedFiles[ICEcoder.selectedFiles.length - 1])" onmouseover="ICEcoder.showFileMenu()"><?php echo $t['Download'];?></a>
<div onmouseover="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div>
<a href="javascript:ICEcoder.propertiesScreen(ICEcoder.selectedFiles[ICEcoder.selectedFiles.length-1])" onmouseover="ICEcoder.showFileMenu()"><?php echo $t['Properties'];?></a>
<a href="javascript:ICEcoder.propertiesScreen(ICEcoder.selectedFiles[ICEcoder.selectedFiles.length - 1])" onmouseover="ICEcoder.showFileMenu()"><?php echo $t['Properties'];?></a>
</div>
<div id="header" class="header" oncontextmenu="return false"></div>
@@ -226,10 +226,10 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
<div id="files" class="files" onmouseover="ICEcoder.changeFilesW('expand')" onmouseout="ICEcoder.changeFilesW('contract'); ICEcoder.hideFileMenu();" oncontextmenu="return false">
<div id="fileNav" class="fileNav">
<ul>
<li><a nohref onclick="ICEcoder.canShowFMNav=true; ICEcoder.showHideFileNav('show','optionsFile')" onmouseover="if(ICEcoder.canShowFMNav) {ICEcoder.showHideFileNav('show', 'optionsFile')}" id="optionsFileNav"><?php echo $t['File'];?></a></li>
<li><a nohref onclick="ICEcoder.canShowFMNav=true; ICEcoder.showHideFileNav('show','optionsEdit')" onmouseover="if(ICEcoder.canShowFMNav) {ICEcoder.showHideFileNav('show', 'optionsEdit')}" id="optionsEditNav"><?php echo $t['Edit'];?></a></li>
<li><a nohref onclick="ICEcoder.canShowFMNav=true; ICEcoder.showHideFileNav('show','optionsSettings')" onmouseover="if(ICEcoder.canShowFMNav) {ICEcoder.showHideFileNav('show', 'optionsSettings')}" id="optionsSettingsNav"><?php echo $t['Settings'];?></a></li>
<li><a nohref onclick="ICEcoder.canShowFMNav=true; ICEcoder.showHideFileNav('show','optionsHelp')" onmouseover="if(ICEcoder.canShowFMNav) {ICEcoder.showHideFileNav('show', 'optionsHelp')}" id="optionsHelpNav"><?php echo $t['Help'];?></a></li>
<li><a nohref onclick="ICEcoder.canShowFMNav = true; ICEcoder.showHideFileNav('show', 'optionsFile')" onmouseover="if (ICEcoder.canShowFMNav) {ICEcoder.showHideFileNav('show', 'optionsFile')}" id="optionsFileNav"><?php echo $t['File'];?></a></li>
<li><a nohref onclick="ICEcoder.canShowFMNav = true; ICEcoder.showHideFileNav('show', 'optionsEdit')" onmouseover="if (ICEcoder.canShowFMNav) {ICEcoder.showHideFileNav('show', 'optionsEdit')}" id="optionsEditNav"><?php echo $t['Edit'];?></a></li>
<li><a nohref onclick="ICEcoder.canShowFMNav = true; ICEcoder.showHideFileNav('show', 'optionsSettings')" onmouseover="if (ICEcoder.canShowFMNav) {ICEcoder.showHideFileNav('show', 'optionsSettings')}" id="optionsSettingsNav"><?php echo $t['Settings'];?></a></li>
<li><a nohref onclick="ICEcoder.canShowFMNav = true; ICEcoder.showHideFileNav('show', 'optionsHelp')" onmouseover="if (ICEcoder.canShowFMNav) {ICEcoder.showHideFileNav('show', 'optionsHelp')}" id="optionsHelpNav"><?php echo $t['Help'];?></a></li>
</ul>
</div>
<div class="options" id="fileOptions">
@@ -247,9 +247,9 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
<li><a nohref onclick="ICEcoder.deleteFiles(ICEcoder.selectedFiles)"><?php echo $t['Delete'];?></a></li>
<li><a nohref onclick="ICEcoder.duplicateFiles(ICEcoder.selectedFiles)"><?php echo $t['Duplicate'];?></a></li>
<li><a nohref onclick="ICEcoder.renameFile(ICEcoder.selectedFiles[ICEcoder.selectedFiles.length - 1])"><?php echo $t['Rename'];?></a></li>
<li><a nohref onclick="ICEcoder.uploadFilesSelect(ICEcoder.selectedFiles[ICEcoder.selectedFiles.length-1])"><?php echo $t['Upload'];?>...</a></li>
<li><a nohref onclick="ICEcoder.uploadFilesSelect(ICEcoder.selectedFiles[ICEcoder.selectedFiles.length - 1])"><?php echo $t['Upload'];?>...</a></li>
<li><a nohref onclick="ICEcoder.zipIt(ICEcoder.selectedFiles[ICEcoder.selectedFiles.length - 1])"><?php echo $t['Zip'];?></a></li>
<li><a nohref onclick="ICEcoder.propertiesScreen(ICEcoder.selectedFiles[ICEcoder.selectedFiles.length-1])"><?php echo $t['Properties'];?>...</a></li>
<li><a nohref onclick="ICEcoder.propertiesScreen(ICEcoder.selectedFiles[ICEcoder.selectedFiles.length - 1])"><?php echo $t['Properties'];?>...</a></li>
<li><a nohref onClick="ICEcoder.printCode()"><?php echo $t['Print'];?>...</a></li>
<li><a nohref onClick="ICEcoder.fullScreenSwitcher()"><?php echo $t['Fullscreen toggle'];?></a></li>
<li><a nohref onClick="ICEcoder.logout()"><?php echo $t['Logout'];?></a></li>
@@ -266,7 +266,7 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
<li><a nohref onclick="ICEcoder.jumpToDefinition()"><?php echo $t['Jump to Definition'];?></a></li>
</ul>
</div>
<div id="optionsSettings" class="optionsList" onmouseover="ICEcoder.showHideFileNav('show',this.id)" onmouseout="ICEcoder.showHideFileNav('hide', this.id);ICEcoder.canShowFMNav = false">
<div id="optionsSettings" class="optionsList" onmouseover="ICEcoder.showHideFileNav('show', this.id)" onmouseout="ICEcoder.showHideFileNav('hide', this.id);ICEcoder.canShowFMNav = false">
<ul>
<li><a nohref onclick="ICEcoder.settingsScreen(false, 'general')">General</a></li>
<li><a nohref onclick="ICEcoder.settingsScreen(false, 'style')">Style</a></li>
@@ -279,16 +279,18 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
FTP is a far less used method of data transfer and so this menu hidden for now
Uncomment if you really want to use it but please note, in future versions of ICEcoder
that FTP is likely to be removed altogether
<div id="optionsSource" class="optionsList" onmouseover="ICEcoder.showHideFileNav('show',this.id)" onmouseout="ICEcoder.showHideFileNav('hide', this.id);ICEcoder.canShowFMNav = false">
<div id="optionsSource" class="optionsList" onmouseover="ICEcoder.showHideFileNav('show', this.id)" onmouseout="ICEcoder.showHideFileNav('hide', this.id);ICEcoder.canShowFMNav = false">
<ul>
<li><a nohref onclick="ICEcoder.goLocalhostRoot()">Localhost</a></li>
<li><a nohref onclick="ICEcoder.ftpManager()">FTP</a></li>
</ul>
</div>
//-->
<div id="optionsHelp" class="optionsList" onmouseover="ICEcoder.showHideFileNav('show',this.id)" onmouseout="ICEcoder.showHideFileNav('hide', this.id);ICEcoder.canShowFMNav = false">
<div id="optionsHelp" class="optionsList" onmouseover="ICEcoder.showHideFileNav('show', this.id)" onmouseout="ICEcoder.showHideFileNav('hide', this.id);ICEcoder.canShowFMNav = false">
<ul>
<li><a nohref onclick="ICEcoder.viewTutorial(false, 500)">Tutorial</a></li>
<li><a href="https://icecoder.net/usage" target="_blank">Usage</a></li>
<li><a href="https://icecoder.net/tips-tricks" target="_blank">Tips &amp; Tricks</a></li>
<li><a nohref onclick="ICEcoder.showManual('<?php echo $ICEcoder["versionNo"];?>')"><?php echo $t['Manual'];?></a></li>
<li><a nohref onClick="ICEcoder.helpScreen()"><?php echo $t['Shortcuts'];?></a></li>
<li><a nohref onclick="ICEcoder.searchForSelected()"><?php echo $t['Search for selected'];?></a></li>
@@ -299,10 +301,10 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
<iframe id="filesFrame" class="frame" name="ff" src="<?php echo $iceURLPath;?>/files.php" style="opacity: 0" onLoad="this.style.opacity = '1'; this.contentWindow.onscroll = function(){ICEcoder.mouseDown = false; ICEcoder.mouseDownInCM = false}"></iframe>
<div class="tools" id="tools">
<div onclick="ICEcoder.toolShowHideToggle('terminal')" id="toolLinkTerminal">Terminal</div>
<div onclick="ICEcoder.toolShowHideToggle('output'); this.className = ''" id="toolLinkOutput">Output</div>
<div onclick="ICEcoder.toolShowHideToggle('database')" id="toolLinkDatabase">Database</div>
<div onclick="ICEcoder.toolShowHideToggle('git')" id="toolLinkGit">Git</div>
<div onclick="ICEcoder.toolShowHideToggle('terminal')" id="toolLinkTerminal" title="Terminal"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/terminal-2.svg");?></div>
<div onclick="ICEcoder.toolShowHideToggle('output'); this.className = ''" id="toolLinkOutput" title="Output"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/layout-list.svg");?></div>
<div onclick="ICEcoder.toolShowHideToggle('database')" id="toolLinkDatabase" title="Database"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/database.svg");?></div>
<div onclick="ICEcoder.toolShowHideToggle('git')" id="toolLinkGit" title="Git"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/git-compare.svg");?></div>
</div>
</div>
@@ -312,7 +314,7 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
<a nohref onClick="ICEcoder.alphaTabs()"><img src="<?php echo $iceURLPath;?>/assets/images/nav-alpha.png" class="alphaTabs" title="<?php echo $t['Alphabetize tabs'];?>"></a>
<?php
for ($i = 1; $i <= 100; $i++) {
echo '<div id="tab' . $i . '" class="tab" onmousedown="ICEcoder.canSwitchTabs ? ICEcoder.switchTab(parseInt(this.id.slice(3), 10)) : ICEcoder.canSwitchTabs = true; thisColor = ICEcoder.colorSelectedText; if (!ICEcoder.overCloseLink) {ICEcoder.tabDragStart(parseInt(this.id.slice(3), 10))}; if (event.button == 1) {ICEcoder.closeTab(parseInt(this.id.slice(3), 10)); return false};" onmouseover="thisColor = this.style.color; this.style.color = ICEcoder.colorSelectedText" onmouseout="this.style.color = thisColor"></div>';
echo '<div id="tab' . $i . '" class="tab" onmousedown="if (false === ICEcoder.overCloseLink) {ICEcoder.switchTab(parseInt(this.id.slice(3), 10)); ICEcoder.tabDragStart(parseInt(this.id.slice(3), 10))}; if (1 === event.button) {ICEcoder.closeTab(parseInt(this.id.slice(3), 10)); return false}; thisColor = ICEcoder.colorSelectedText;" onmouseover="thisColor = this.style.color; this.style.color = ICEcoder.colorSelectedText" onmouseout="this.style.color = thisColor"></div>';
}
?><div class="newTab" onClick="ICEcoder.newTab(false)" id="newTab">+</div>
</div>
@@ -355,9 +357,9 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
<input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>">
</form>
<form onSubmit="return ICEcoder.goToLine(get('goToLineNo').value, 0, false)">
<div class="goLine"><?php echo $t['Go to Line'];?> <input type="text" name="goToLine" value="" maxlength="5" id="goToLineNo" onkeyup="ICEcoder.goToLine(this.value, 0, true)" class="textbox goToLine">
<div class="view" title="<?php echo $t['View'];?>" onClick="ICEcoder.openPreviewWindow()" id="fMView"></div>
<div class="bug" title="<?php echo $t['Bug reporting not active'];?>" onClick="ICEcoder.openBugReport()" id="bugIcon"></div>
<div class="goLine"><?php echo $t['Go to Line'];?> <input type="text" name="goToLine" value="" maxlength="5" id="goToLineNo" onkeyup="ICEcoder.goToLine(this.value, 0, true)" class="textbox goToLine"></div>
<div class="view" title="<?php echo $t['View'];?>" onClick="ICEcoder.openPreviewWindow()" id="fMView"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/browser.svg");?></div>
<div class="bug" title="<?php echo $t['Bug reporting not active'];?>" onClick="ICEcoder.openBugReport()" id="bugIcon"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/bug.svg");?></div>
<input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>">
</form>
</div>
@@ -376,7 +378,7 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
<div class="footer" id="footer" oncontextmenu="return false">
<div class="versionsDisplay" id="versionsDisplay" onclick="ICEcoder.versionsScreen(ICEcoder.openFiles[ICEcoder.selectedTab - 1].replace(/\//g, '|'))"></div>
<div class="serverMessage" id="serverMessage"></div>
<div class="splitPaneControls" id="splitPaneControls"><div class="off" id="splitPaneControlsOff" title="<?php echo $t['Single pane'];?>" onclick="ICEcoder.setSplitPane('off')" style="opacity: 0.5"></div><div class="on" id="splitPaneControlsOn" title="<?php echo $t['Diff pane also'];?>" onclick="ICEcoder.setSplitPane('on')" style="opacity: 0.2"></div></div>
<div class="splitPaneControls" id="splitPaneControls"><div class="off" id="splitPaneControlsOff" title="<?php echo $t['Single pane'];?>" onclick="ICEcoder.setSplitPane('off')" style="opacity: 0.8"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/square.svg");?></div><div class="on" id="splitPaneControlsOn" title="<?php echo $t['Diff pane also'];?>" onclick="ICEcoder.setSplitPane('on')" style="opacity: 0.2"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/layout-columns.svg");?></div></div>
<div class="splitPaneNames" id="splitPaneNamesMain">Main Pane</div>
<div class="splitPaneNames" id="splitPaneNamesDiff">Diff Pane</div>
<div class="byteDisplay" id="byteDisplay" style="display: none" onClick="ICEcoder.showDisplay('char')"></div>
@@ -385,6 +387,12 @@ if (true === $havePrettier && true === file_exists(dirname(__FILE__) . "/plugins
<div id="tooltip" class="tooltip" style="display: none"></div>
<div class="closeIcon" style="display: none" id="closeIcon"><?php echo file_get_contents(dirname(__FILE__) . "/assets/images/icons/x.svg");?></div>
<?php
echo $systemClass->getDemoModeIndicator(false);
?>
<script>
ICEcoder.initAliases();
ICEcoder.setLayout(false);

View File

@@ -25,6 +25,8 @@ $text = [
"none" => "[none]",
"multi-user" => "多用户",
"Username" => "用户名:",
"version" => "version",
"codemirror version" => "codemirror version",
],
"files" =>
@@ -121,6 +123,12 @@ $text = [
"Found in" => "搜索到:",
],
"bug-report" =>
[
"Bug Report" => "Bug Report",
],
"file-control" =>
[
"Sorry, bad filename..." => "抱歉, 你提供了错误的文件名。查看开发工具控制台了解更多信息。",
@@ -286,7 +294,6 @@ $text = [
"Replacing text in" => "正在替换文本",
"Sorry there was..." => "抱歉,您的请求有错误。\\n\\n请检查您的开发工具控制台以获取更多信息。",
"Cancelled tasks" => "取消任务",
"Open previous files" => "打开以前的文件?",
"Please note for..." => "请注意: 需要更新才能正常工作, 你需要为所有 ICEcoder 文件和文件夹设置写入和删除权限. 如果您需要恢复 ICEcoder 到这个版本, 你可以在 /tmp 目录找到它们. 点击 OK 继续使用自动升级或点击 cancel 访问 ICEcoder 网站, 您也可以到 grab 的项目首页下载 zip 来进行手动更新.",
"You can start..." => "你可以在 帮助 > 设置中启动错误报告",
"Error cannot find..." => "错误: 无法找到/进入错误文件路径",
@@ -470,4 +477,9 @@ $text = [
"Search" => "搜索",
],
"demo-mode" =>
[
"Demo mode" => "Demo mode",
],
];

View File

@@ -25,6 +25,8 @@ $text = [
"none" => "[none]",
"multi-user" => "多用戶",
"Username" => "Username:",
"version" => "version",
"codemirror version" => "codemirror version",
],
"files" =>
@@ -121,6 +123,11 @@ $text = [
"Found in" => "檢索到:",
],
"bug-report" =>
[
"Bug Report" => "Bug Report",
],
"file-control" =>
[
"Sorry, bad filename..." => "Sorry, bad filename provided. Check the dev tools console for more info?",
@@ -286,7 +293,6 @@ $text = [
"Replacing text in" => "正在替換文本",
"Sorry there was..." => "Sorry, there was an error with your request.\\n\\nPlease check your dev tools console for more info.",
"Cancelled tasks" => "取消任務",
"Open previous files" => "打開以前的文件?",
"Please note for..." => "請注意: 需要更新才能工作, 您需要爲所有 ICEcoder 文件和文件夾設置寫如何刪除權限. 如果您需要恢復 ICEcoder 到這個版本, 您可以在 /tmp 目錄找到它們. 點擊 OK 繼續使用自動升級或點擊 cancel 訪問 ICEcoder 官方網站, 您也可以到 GitHub 的項目首頁下載 zip 來手動進行更新.",
"You can start..." => "您可以在 幫助 > 設置中啓動錯誤報告",
"Error cannot find..." => "錯誤: 無法找到和進入錯誤日志文件路徑",
@@ -470,4 +476,9 @@ $text = [
"Search" => "Search",
],
"demo-mode" =>
[
"Demo mode" => "Demo mode",
],
];

View File

@@ -25,6 +25,8 @@ $text = [
"none" => "[none]",
"multi-user" => "multi-user",
"Username" => "Username:",
"version" => "version",
"codemirror version" => "codemirror version",
],
"files" =>
@@ -121,6 +123,11 @@ $text = [
"Found in" => "Gevonden in:",
],
"bug-report" =>
[
"Bug Report" => "Bug Report",
],
"file-control" =>
[
"Sorry, bad filename..." => "Er is een ongeldige bestandsnaam opgegeven. Bekijk de dev tools console voor meer informatie.",
@@ -286,7 +293,6 @@ $text = [
"Replacing text in" => "Wijzig de tekst in",
"Sorry there was..." => "Helaas er is een fout opgetreden met uw aanvraag.\\n\\nKijk in de dev tools console voor meer informatie.",
"Cancelled tasks" => "Geannuleerde taken",
"Open previous files" => "Open voorgaande bestand(en)?",
"Please note for..." => "Let op: om de update goed te laten doorvoeren, moet je schrijfrechten hebben op alle bestanden en mappen van ICEcoder. Moet je deze versie van ICEcoder herstellen, dan vind je die in de map /tmp. Klik op ok om door te gaan met automatisch updaten, of druk op annuleren om af te breken. Voor een handmatige update kun je het zip bestand van de ICEcoder website downloaden.",
"You can start..." => "U kunt bug rapporteren aanzetten in: Bewerken > Opties",
"Error cannot find..." => "Fout: kan geen toegang krijgen of de bestands paden vinden",
@@ -470,4 +476,9 @@ $text = [
"Search" => "Zoek",
],
"demo-mode" =>
[
"Demo mode" => "Demo mode",
],
];

View File

@@ -25,6 +25,8 @@ $text = [
"none" => "[none]",
"multi-user" => "multi-user",
"Username" => "Username:",
"version" => "version",
"codemirror version" => "codemirror version",
],
"files" =>
@@ -121,6 +123,11 @@ $text = [
"Found in" => "Found in:",
],
"bug-report" =>
[
"Bug Report" => "Bug Report",
],
"file-control" =>
[
"Sorry, bad filename..." => "Sorry, bad filename provided. Check the dev tools console for more info?",
@@ -286,7 +293,6 @@ $text = [
"Replacing text in" => "Replacing text in",
"Sorry there was..." => "Sorry, there was an error with your request.\\n\\nPlease check your dev tools console for more info.",
"Cancelled tasks" => "Cancelled tasks",
"Open previous files" => "Open previous files?",
"Please note for..." => "Please note: for updating to work properly, you need to have write access on all ICEcoder dirs & files. It will first check if this is the case and list any unwriteable (and therefore unmoveable) files.\\n\\nIf you need to recover this version of ICEcoder for any reason, you'll find it in the /tmp dir.\\n\\nClick OK to proceed with the check and auto-update, or cancel to visit the ICEcoder site so you can grab the zip and update manually.",
"You can start..." => "You can start bug reporting in Help > Settings",
"Error cannot find..." => "Error: cannot find/access the error file paths",
@@ -470,4 +476,9 @@ $text = [
"Search" => "Search",
],
"demo-mode" =>
[
"Demo mode" => "Demo mode",
],
];

View File

@@ -25,6 +25,8 @@ $text = [
"none" => "[aucun]",
"multi-user" => "Multi-utilisateur",
"Username" => "Username:",
"version" => "version",
"codemirror version" => "codemirror version",
],
"files" =>
@@ -109,7 +111,7 @@ $text = [
"seconds due to..." => "seconds due to inactivity, for security purposes. Use the mouse or hit a key to continue.<br><br>You can adjust or disable this from the Edit > Settings section.",
],
"backup-versions" =>
"backup-versions" =>
[
"backup" => "backup",
"backups" => "backups",
@@ -121,6 +123,11 @@ $text = [
"Found in" => "Trouv&eacute; dans :"
],
"bug-report" =>
[
"Bug Report" => "Bug Report",
],
"file-control" =>
[
"Sorry, bad filename..." => "Sorry, bad filename provided. Check the dev tools console for more info?",
@@ -286,7 +293,6 @@ $text = [
"Replacing text in" => "Remplacement de texte dans",
"Sorry there was..." => "Sorry, there was an error with your request.\\n\\nPlease check your dev tools console for more info.",
"Cancelled tasks" => "Tâches annul&eacute;s",
"Open previous files" => "Ouvrir les fichiers pr&eacute;c&eacute;dents ?",
"Please note for..." => "S&apos;il vous pla&icirc;t, noter : la mise &agrave; jour fonctionne correctement, vous devez avoir les permissions d&apos;&eacute;criture / suppression &agrave; tous les r&eacute;pertoires et fichiers d&apos;ICEcoder. Si vous avez besoin de r&eacute;cup&eacute;rer cette version d&apos;ICEcoder pour une raison quelconque, vous la trouverez dans le r&eacute;pertoire / tmp. Cliquez sur OK pour proc&eacute;der &agrave; une mise &agrave; jour automatique, ou annuler et visiter le site d&apos;ICEcoder de sorte que vous pouvez r&eacute;cup&eacute;rer le fichier zip et mettre &agrave; jour manuellement.",
"You can start..." => "Vous pouvez reporter un dysfonctionnement dans Aide > Pr&eacute;f&eacute;rences",
"Error cannot find..." => "Erreur : ne peut pas trouver / acc&eacute;der aux chemins des fichiers d&apos;erreur",
@@ -470,4 +476,9 @@ $text = [
"Search" => "Search",
],
"demo-mode" =>
[
"Demo mode" => "Demo mode",
],
];

View File

@@ -25,6 +25,8 @@ $text = [
"none" => "[nichts]",
"multi-user" => "Mehrbenutzermodus",
"Username" => "Username:",
"version" => "version",
"codemirror version" => "codemirror version",
],
"files" =>
@@ -121,6 +123,11 @@ $text = [
"Found in" => "Gefunden in:",
],
"bug-report" =>
[
"Bug Report" => "Bug Report",
],
"file-control" =>
[
"Sorry, bad filename..." => "Sorry, bad filename provided. Check the dev tools console for more info?",
@@ -286,7 +293,6 @@ $text = [
"Replacing text in" => "Replacing text in",
"Sorry there was..." => "Sorry, there was an error with your request.\\n\\nPlease check your dev tools console for more info.",
"Cancelled tasks" => "Cancelled tasks",
"Open previous files" => "Open previous files?",
"Please note for..." => "Please note: for updating to work properly, you need to have write access on all ICEcoder dirs & files. It will first check if this is the case and list any unwriteable (and therefore unmoveable) files.\\n\\nIf you need to recover this version of ICEcoder for any reason, you'll find it in the /tmp dir.\\n\\nClick OK to proceed with the check and auto-update, or cancel to visit the ICEcoder site so you can grab the zip and update manually.",
"You can start..." => "You can start bug reporting in Help > Settings",
"Error cannot find..." => "Error: cannot find/access the error file paths",
@@ -470,4 +476,9 @@ $text = [
"Search" => "Search",
],
"demo-mode" =>
[
"Demo mode" => "Demo mode",
],
];

View File

@@ -25,6 +25,8 @@ $text = [
"none" => "[none]",
"multi-user" => "multi-user",
"Username" => "Username:",
"version" => "version",
"codemirror version" => "codemirror version",
],
"files" =>
@@ -121,6 +123,11 @@ $text = [
"Found in" => "Trovato in:",
],
"bug-report" =>
[
"Bug Report" => "Bug Report",
],
"file-control" =>
[
"Sorry, bad filename..." => "Sorry, bad filename provided. Check the dev tools console for more info?",
@@ -286,7 +293,6 @@ $text = [
"Replacing text in" => "Sostituisci il testo con",
"Sorry there was..." => "Sorry, there was an error with your request.\\n\\nPlease check your dev tools console for more info.",
"Cancelled tasks" => "Compiti cancellati",
"Open previous files" => "Aprire i file precedenti?",
"Please note for..." => "Si prega di notare: affinche l\'aggiornamento funzioni correttamente, è necessario disporre dei permessi di scrittura e cancellazione su tutti le cartelle e file di ICEcoder e. Se è necessario ripristinare questa versione di ICEcoder per qualsiasi motivo, lo troverete nella directory / tmp dir. Fare clic su OK per procedere con l\'aggiornamento automatico o annullare a visitare il sito ICEcoder in modo da poter utilizzare la zip e aggiornare manualmente.",
"You can start..." => "Puoi ripoertare il bug in Help > Settings",
"Error cannot find..." => "Error: cannot find/access the error file paths",
@@ -470,4 +476,9 @@ $text = [
"Search" => "Cerca",
],
"demo-mode" =>
[
"Demo mode" => "Demo mode",
],
];

View File

@@ -25,6 +25,8 @@ $text = [
"none" => "[none]",
"multi-user" => "flerbruker",
"Username" => "Username:",
"version" => "version",
"codemirror version" => "codemirror version",
],
"files" =>
@@ -109,7 +111,7 @@ $text = [
"seconds due to..." => "seconds due to inactivity, for security purposes. Use the mouse or hit a key to continue.<br><br>You can adjust or disable this from the Edit > Settings section.",
],
"backup-versions" =>
"backup-versions" =>
[
"backup" => "backup",
"backups" => "backups",
@@ -121,6 +123,11 @@ $text = [
"Found in" => "Funnet i:",
],
"bug-report" =>
[
"Bug Report" => "Bug Report",
],
"file-control" =>
[
"Sorry, bad filename..." => "Sorry, bad filename provided. Check the dev tools console for more info?",
@@ -286,7 +293,6 @@ $text = [
"Replacing text in" => "Replacing text in","Replacing text in" => "Erstatte tekst i",
"Sorry there was..." => "Sorry, there was an error with your request.\\n\\nPlease check your dev tools console for more info.",
"Cancelled tasks" => "Kansellerte oppgaver",
"Open previous files" => "Åpne siste filer?",
"Please note for..." => "Vennligst merk: for at oppdatering skal fungere skikkelig, må du ha skrive/slette tilgang til alle ICEcoder kataloger og filer. Hvis du trenger å gjenopprette denne versjonen av ICEcoder av en eller annen grunn, vil du finne den i /tmp mappen. Klikk OK for å fortsette med en auto-oppdatering eller avbryt for å besøke ICEcoder området slik at du kan ta tak i zip-filen og oppdatere manuelt.",
"You can start..." => "Du kan starte feilrapportering i Hjelp > Innstillinger",
"Error cannot find..." => "Feil: kan ikke finne/få tilgang til feil filstier",
@@ -470,4 +476,9 @@ $text = [
"Search" => "Search",
],
"demo-mode" =>
[
"Demo mode" => "Demo mode",
],
];

View File

@@ -25,6 +25,8 @@ $text = [
"none" => "[پوچ]",
"multi-user" => "چند کاربره",
"Username" => "Username:",
"version" => "version",
"codemirror version" => "codemirror version",
],
"files" =>
@@ -121,6 +123,11 @@ $text = [
"Found in" => "یافتن در :",
],
"bug-report" =>
[
"Bug Report" => "Bug Report",
],
"file-control" =>
[
"Sorry, bad filename..." => "Sorry, bad filename provided. Check the dev tools console for more info?",
@@ -286,7 +293,6 @@ $text = [
"Replacing text in" => "جایگزین کردن متن در",
"Sorry there was..." => "Sorry, there was an error with your request.\\n\\nPlease check your dev tools console for more info.",
"Cancelled tasks" => "تسک های لغو شده ",
"Open previous files" => "بازکردن فایل های قبلی؟",
"Please note for..." => "Please note: for updating to work properly, you need to have write/delete access on all ICEcoder dirs & files. If you need to recover this version of ICEcoder for any reason, you'll find it in the /tmp dir. Click OK to proceed with an auto-update or cancel to visit the ICEcoder site so you can grab the zip and update manually.",
"You can start..." => "شما می توانید ارسال خطا را از منوی کمک رسانی > تنظیمات انجام دهید",
"Error cannot find..." => "خطا : نمی توانید به فایل / مسیر فایل های خطا دسترسی پیدا کنید.",
@@ -470,4 +476,9 @@ $text = [
"Search" => "Search",
],
"demo-mode" =>
[
"Demo mode" => "Demo mode",
],
];

Some files were not shown because too many files have changed in this diff Show More