Compare commits
208 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4a61847ef7 | ||
|
|
7001178b79 | ||
|
|
4ac0f0b43a | ||
|
|
d72121ff8c | ||
|
|
b5cee2dc2d | ||
|
|
351633bad6 | ||
|
|
361c353157 | ||
|
|
20fe466d84 | ||
|
|
c5146d7f2b | ||
|
|
5fa36d5749 | ||
|
|
ab6610846c | ||
|
|
e720ba5d5a | ||
|
|
958e91a67f | ||
|
|
e21c16e1ee | ||
|
|
509b5b8fb8 | ||
|
|
51cf24b2a3 | ||
|
|
cd964f816f | ||
|
|
99f5d1a7c9 | ||
|
|
d6124b0811 | ||
|
|
517be5a5e0 | ||
|
|
fef1927690 | ||
|
|
d642ed0fab | ||
|
|
f1bab2dec5 | ||
|
|
b1ba868eb6 | ||
|
|
d1d6760def | ||
|
|
34b263bb18 | ||
|
|
b9faaafacd | ||
|
|
2a00f7e8ea | ||
|
|
fcd2e51c45 | ||
|
|
94438fa34f | ||
|
|
ae008e523c | ||
|
|
8e57e6833c | ||
|
|
133c155ae4 | ||
|
|
81282e6f73 | ||
|
|
7cb270a0a2 | ||
|
|
eaa574f0a3 | ||
|
|
8d4dc52e2d | ||
|
|
f80ab916a3 | ||
|
|
0729daf3b5 | ||
|
|
623ee10a81 | ||
|
|
a5678eba26 | ||
|
|
e8ba59fe46 | ||
|
|
d92c3b00c3 | ||
|
|
7b97ff92ae | ||
|
|
dfb40255a9 | ||
|
|
fe7c03df06 | ||
|
|
dcf1f50cf0 | ||
|
|
3751ea5499 | ||
|
|
b51445c101 | ||
|
|
42d60ea48f | ||
|
|
80bdd04e59 | ||
|
|
7075ced50f | ||
|
|
4fb0d838b6 | ||
|
|
aa357509c8 | ||
|
|
8615828a76 | ||
|
|
766d23bd78 | ||
|
|
6199c06e8e | ||
|
|
5ad21bfe23 | ||
|
|
d326d6a02d | ||
|
|
487ce2710c | ||
|
|
583dcad1c0 | ||
|
|
ba88f98ac7 | ||
|
|
820691665d | ||
|
|
649a050e66 | ||
|
|
c32050889f | ||
|
|
3bd5030c42 | ||
|
|
21d6ae0f2a | ||
|
|
ab99aff272 | ||
|
|
932f07393b | ||
|
|
54e4aff163 | ||
|
|
ab3d04440c | ||
|
|
58f3866b45 | ||
|
|
fcf6c14a91 | ||
|
|
8be9e76e8d | ||
|
|
78e417add4 | ||
|
|
23f86200e0 | ||
|
|
2d03477c66 | ||
|
|
da88db20fb | ||
|
|
f5c1640dbd | ||
|
|
4328ea2c1f | ||
|
|
0fb0644b71 | ||
|
|
01df964ac7 | ||
|
|
1cad4b074c | ||
|
|
50196789a7 | ||
|
|
2d245f2da8 | ||
|
|
a1d545b76b | ||
|
|
a1df16031d | ||
|
|
8cc3a7e037 | ||
|
|
8e01faad10 | ||
|
|
cea8e0a36e | ||
|
|
4a08853605 | ||
|
|
59c39acb35 | ||
|
|
0850127d2b | ||
|
|
f27905404b | ||
|
|
65bc11cd48 | ||
|
|
f79cc0336a | ||
|
|
edaa95df93 | ||
|
|
868db80583 | ||
|
|
c8d4eeb74e | ||
|
|
4a516e9828 | ||
|
|
12a53d4c29 | ||
|
|
6eee161a74 | ||
|
|
0793c2fd63 | ||
|
|
af7e57b1d9 | ||
|
|
de3e46d5ee | ||
|
|
bc589549f3 | ||
|
|
2e7e5a8bcd | ||
|
|
3f0604fff4 | ||
|
|
5e89f0945d | ||
|
|
8f54ff53bc | ||
|
|
574b6f1b7a | ||
|
|
518dbd5818 | ||
|
|
f78dce0e73 | ||
|
|
bb2580c031 | ||
|
|
116c82736f | ||
|
|
d4c4911ead | ||
|
|
21d06d5859 | ||
|
|
361681714b | ||
|
|
4b923dfd7e | ||
|
|
dccfd0a616 | ||
|
|
e259946dcc | ||
|
|
a7e1bb53a3 | ||
|
|
0b75351b1f | ||
|
|
1ccf01bfc0 | ||
|
|
9b881cf774 | ||
|
|
c3c829ec3d | ||
|
|
362bbf5c5d | ||
|
|
c19503ba78 | ||
|
|
9e68bb9d72 | ||
|
|
536ddde998 | ||
|
|
d89d01e46e | ||
|
|
876a6ab0ef | ||
|
|
a3e5b7925a | ||
|
|
1e01e783ca | ||
|
|
f77f02e11f | ||
|
|
818b9e9a71 | ||
|
|
1ab4ae0094 | ||
|
|
ca39d31f0e | ||
|
|
352c8c1a3a | ||
|
|
3273d9fd2c | ||
|
|
034f1158cd | ||
|
|
109859c393 | ||
|
|
9c5382134b | ||
|
|
75534a047e | ||
|
|
940489688d | ||
|
|
d78821a4dc | ||
|
|
8322e0b3fe | ||
|
|
14e22568a2 | ||
|
|
1bc0ac1ec5 | ||
|
|
d3b3715384 | ||
|
|
b574ce0e6c | ||
|
|
6d120cc7b9 | ||
|
|
107c0b53c7 | ||
|
|
afd0c02ff6 | ||
|
|
9fbb393013 | ||
|
|
d4fa50cdf3 | ||
|
|
809a1ad197 | ||
|
|
5a660f7810 | ||
|
|
0e45263fad | ||
|
|
f8a2c2a926 | ||
|
|
ea14b8bbbb | ||
|
|
e52cf8edf9 | ||
|
|
494be783b9 | ||
|
|
d884c2ed11 | ||
|
|
cfbd11d8de | ||
|
|
1c81aab339 | ||
|
|
60496c9fb0 | ||
|
|
c2647bc23a | ||
|
|
74fcd33c97 | ||
|
|
8770f6fe58 | ||
|
|
25b50a97f3 | ||
|
|
e0b7be3a25 | ||
|
|
fabed98033 | ||
|
|
b702a9c31c | ||
|
|
03ca02c4fd | ||
|
|
af57283d0a | ||
|
|
374178ad14 | ||
|
|
3d82bfc227 | ||
|
|
373b1eb645 | ||
|
|
73aaabba8f | ||
|
|
e9fa15984c | ||
|
|
af6a3bce61 | ||
|
|
bc4532f76e | ||
|
|
01dfbac81a | ||
|
|
432837a72c | ||
|
|
c4e52e0edc | ||
|
|
15969b44cc | ||
|
|
080fef30a4 | ||
|
|
a170e5e6a0 | ||
|
|
6cbbf6674c | ||
|
|
8a138538a3 | ||
|
|
ed1515d008 | ||
|
|
0bb81ea3a7 | ||
|
|
77a0182f69 | ||
|
|
1064d2708b | ||
|
|
4c7c7ee874 | ||
|
|
e27318c825 | ||
|
|
cd352c8a0c | ||
|
|
53cdbad35b | ||
|
|
5343efd57f | ||
|
|
c99f78a0f2 | ||
|
|
e253ff059e | ||
|
|
1d8cfafb62 | ||
|
|
b5b6b92204 | ||
|
|
fbe19fc431 | ||
|
|
2df787655d | ||
|
|
35bcb14d8d | ||
|
|
611556b5fe |
31
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: Bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is. Please paste any JS error (from dev tools Console tab) and PHP errors from ICEcoders data/logs/error/error.log file at the time of the bug.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen and what happened instead.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Browser & Server (please complete the following information):**
|
||||
- Browser [eg Chrome, Firefox]
|
||||
- Server [eg Apache, Nginx, IIS]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
17
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Got a great idea for feature?
|
||||
title: ''
|
||||
labels: Feature
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**It would be great if ICEcoder....**
|
||||
Explain your idea here. The more info the better if it's a complicated feature. Be sure to suggest something many people would like however!
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
17
.github/ISSUE_TEMPLATE/got-a-question-.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
name: Got a question?
|
||||
about: Not sure about something, ask away!
|
||||
title: ''
|
||||
labels: Question
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**I'm not sure about...**
|
||||
Explain what you're unsure about here. The more info the better if it's a complicated. Other people might have the same questions and can learn from replies, ask away!
|
||||
|
||||
**Describe where you're unsure**
|
||||
Explain where you're at and what in ICEcoder is causing you issues, we can probably advise!
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the question here.
|
||||
17
.github/ISSUE_TEMPLATE/tweak-suggestion.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
name: Tweak suggestion
|
||||
about: Could something be tweaked to make it better?
|
||||
title: ''
|
||||
labels: Tweak
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**It would be so much better if we could tweak...**
|
||||
Explain your thoughts here. The more info the better if it's a complicated tweak. Be sure to suggest something many people would like however!
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the tweak suggestion here.
|
||||
19
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
**Describe the PR**
|
||||
|
||||
A clear and concise description of what the PR covers. Be sure it's something lots of people would appreciate!
|
||||
|
||||
**Benefits**
|
||||
|
||||
If it's a bug fix or tweak, note what it's resolving. If it's a feature, detail what's great about it. Note that not all PR are merged!
|
||||
|
||||
**Check the files!**
|
||||
|
||||
Before you hit the button, check the files changed in this PR, to ensure only the exact changes needed are included.
|
||||
|
||||
**Screenshots**
|
||||
|
||||
If applicable, add screenshots to help explain what's covered here.
|
||||
|
||||
**Notes**
|
||||
|
||||
Any other notes?
|
||||
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
.idea/*
|
||||
data/*
|
||||
!data/.gitkeep
|
||||
plugins/*
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
Copyright: © 2020 ICEcoder Ltd
|
||||
Website: icecoder.net
|
||||
|
||||
Website: icecoder.net
|
||||
|
||||
Email: info@icecoder.net
|
||||
|
||||
Twitter: @icecoder
|
||||
|
||||
# ICEcoder License
|
||||
|
||||
43
README.md
@@ -1,10 +1,14 @@
|
||||
# ICEcoder is for sale! Please contact info@icecoder.net. Serious offers only.
|
||||
|
||||
---
|
||||
|
||||
# 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://assets.icecoder.net/images/icecoder-8-1-browser-code-editor.png" alt="ICEcoder code editor">
|
||||
|
||||
### Requirements
|
||||
|
||||
@@ -14,29 +18,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!
|
||||
|
||||
5
SECURITY.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Security Policy
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Please report security issues to `info@icecoder.net`
|
||||
10
assets/css/bug-report.css
Normal 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 {padding: 20px; background: rgba(0,0,0,0.92); color: #ccc}
|
||||
pre {font-family: monospace, courier, sans-serif;; white-space: pre-wrap; word-break: break-all}
|
||||
15
assets/css/editor.css
Normal file
@@ -0,0 +1,15 @@
|
||||
.dataMessage {display: none; margin: 32px 43px 0 43px; padding: 10px; width: 500px; font-family: arial; font-size: 10px; color: #ddd; background: #333}
|
||||
|
||||
.dataItemsContainer {margin: 20px 43px 32px 43px; font-family: arial; font-size: 10px; color: #ddd}
|
||||
.dataItems {float: left; line-height: 14px}
|
||||
.dataItems span {line-height: 21px}
|
||||
|
||||
.heading {color: #888}
|
||||
.diffGreen {background: #0b0 !important; color: #000 !important}
|
||||
.diffRed {background: #800 !important; color: #fff !important}
|
||||
.diffGrey {background: #444 !important; color: #fff !important}
|
||||
.diffGreyLighter {background: #888 !important; color: #1d1d1b !important}
|
||||
.diffNone {background: ''; color: ''}
|
||||
|
||||
.resultsBar {position: absolute; display: none; width: 12px; height: 100%; top: 0; right: 0; overflow: hidden; pointer-events: none; z-index: 2}
|
||||
.resultsBar .rBlock {position: absolute; display: block; width: 12px; background: rgba(128,128,128,0.3)}
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Additional file types */
|
||||
.ext-c:before {background-position: -48px 0 !important;}
|
||||
.ext-c:before, .ext-h:before {background-position: -48px 0 !important;}
|
||||
.ext-cpp:before, .ext-ino:before {background-position: -64px 0 !important;}
|
||||
.ext-cs:before {background-position: -80px 0 !important;}
|
||||
.ext-coffee:before {background-position: -96px 0 !important;}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
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}
|
||||
a {color: #2187e7; text-decoration: none}
|
||||
input {padding: 4px; border: 0; background-color: #444; color: #fff}
|
||||
select {padding: 3px 4px; border: 0; background-color: #444; color: #fff}
|
||||
input:focus {outline: none; background: rgba(0,198,255,0.5); color: #fff}
|
||||
select:focus {outline: none}
|
||||
|
||||
.ftpManager {background-color: #1c1c19; color: #fff; padding: 20px}
|
||||
.ftpManager .info {font-size: 10px; color: rgba(0,198,255,0.7); cursor: help}
|
||||
@@ -9,9 +9,11 @@ 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}
|
||||
.popupVCenter .popup .imgDisplay {border: solid 10px #fff; max-width: 700px; max-height: 500px; background-color: #000; background-image: url('../images/checkerboard.png')}
|
||||
.floatingContainer {position: absolute; top: 0; left: 0; width: 55px; height: 55px; visibility: hidden; border: solid 1px #444; image-rendering: pixelated}
|
||||
.floatingContainer:before {position: absolute; display: inline-block; width: 3px; height: 3px; left: 25px; top: 25px; content: ''; border: solid 1px #b00}
|
||||
|
||||
@@ -68,15 +70,15 @@ 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}
|
||||
|
||||
.editor {position: absolute; display: inline-block; top: 0; left: 15px; width: 2400px}
|
||||
.editor {position: fixed; 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;
|
||||
@@ -105,7 +107,8 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
||||
appearance: none;
|
||||
}
|
||||
.findReplace .selectWrapper select:focus {outline: 0}
|
||||
.findReplace .findText {display: inline-block; height: 28px; font-size: 10px; margin: 7px 3px 0 27px}
|
||||
.findReplace .findRegexToggle {display: inline-block; height: 10px; width: 16px; font-size: 10px; margin: 3px 0 0 5px; padding: 4px 1px; border-radius: 2px; text-align: center; cursor: pointer}
|
||||
.findReplace .findText {display: inline-block; height: 28px; font-size: 10px; margin: 7px 3px 0 4px}
|
||||
.findReplace .find {position: relative; width: 167px; height: 28px; border: 0; top: -2px; font-size: 12px; padding-left: 5px; margin-right: 3px; background: #444; color: #eee}
|
||||
.findReplace .replaceText {height: 28px; font-size: 10px; margin: 6px 3px 0 2px}
|
||||
.findReplace .replace {position: relative; width: 167px; height: 28px; border: 0; top: -2px; font-size: 12px; padding-left: 5px; background: #444; color: #eee}
|
||||
@@ -117,26 +120,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 +159,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}
|
||||
@@ -156,7 +169,9 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
||||
.screenCenter .text {position: relative; display: block; margin-top: 15px; font-size: 10px; color: #888}
|
||||
.screenCenter .text input {margin-top: 1px}
|
||||
.screenCenter .text a {position: relative; display: block; margin-top: 15px; font-size: 10px; color: #888; text-decoration: none}
|
||||
.screenCenter .adminUser {margin-bottom: 15px; color: #bbb}
|
||||
.screenCenter .password {border: 0; background-color: #333; color: #fff; height: 20px}
|
||||
.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}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -27,6 +27,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}
|
||||
.settings {font-family: arial, verdana, helvetica, sans-serif; background-color: #1c1c19; color: #fff}
|
||||
.settings .infoPane {position: relative; width: 230px; height: 570px; font-size: 10px; color: #888; background-color: #fff; padding: 20px; float: left}
|
||||
.settings .infoPane a {color: #06c; text-decoration: none}
|
||||
@@ -40,5 +41,7 @@ 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 .iconCapsLock {position: absolute; margin-left: 2px; color: #888}
|
||||
.settings .info {font-size: 10px; color: rgba(0,198,255,1); cursor: help}
|
||||
.settings .info .icon-tabler {width: 18px; height: 18px; margin-top: -2px; 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}
|
||||
|
||||
@@ -27,12 +27,12 @@ table, caption, tbody, tfoot, thead, tr, th, td {
|
||||
|
||||
html, body {width: 100%; height: 100%}
|
||||
|
||||
.output {position: absolute; display: block; top: 0; padding: 15px 18px 8px 13px; width: 100%; min-height: 100%; border: 0; background: rgba(0,0,0,0.92); color: #ccc}
|
||||
.output {position: absolute; display: block; top: 0; padding: 15px 18px 8px 13px; width: 100%; min-height: 100%; border: 0; background: rgba(0,0,0,0.92); color: #ccc; white-space: pre-wrap; word-break: break-all}
|
||||
.commandLine {width: 100%; padding: 8px 2px 8px 0; color: #fff}
|
||||
.commandLine .user {display: inline-block; height: 24px; margin-top: -4px; margin-left: -13px; padding: 5px 5px 5px 0; margin-bottom: 5px; background: #b58901; color: #000}
|
||||
.commandLine .cwd {display: inline-block; height: 24px; margin-top: -4px; padding: 5px 5px 5px 0; margin-bottom: 5px; background: #278bd2; color: #fff}
|
||||
.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: 10000px; max-width: 95%; background: transparent; color: #fff}
|
||||
.commandLine .command:focus {outline: none}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Author: Torres Digital® | Sites → Lojas Virtuais e e-Commerce
|
||||
Author URI: https://www.facebook.com/torresdigital/
|
||||
|
||||
Description: omos uma Agência Gaúcha que trabalha com Desenvolvimento Web voltado para todos os Nichos do Mercado tais como os de insumos, commodities, pequenos, médios e grandes Lojistas que desejam alcançar mais Clientes através do e-Commerce: Sites, Aplicativos, Lojas Virtuais, Marketplaces, WordPress e Woocommerce, integrados com os Principais Cartões e Soluções de Pagamentos do Brasil e do Mundo; tais como Cielo, CyberSource, PagSeguro, Stripe, Vindi, MasterCard, Visa, American Express, outros.
|
||||
Description: Somos uma Agência Gaúcha que trabalha com Desenvolvimento Web voltado para todos os Nichos do Mercado tais como os de insumos, commodities, pequenos, médios e grandes Lojistas que desejam alcançar mais Clientes através do e-Commerce: Sites, Aplicativos, Lojas Virtuais, Marketplaces, WordPress e Woocommerce, integrados com os Principais Cartões e Soluções de Pagamentos do Brasil e do Mundo; tais como Cielo, CyberSource, PagSeguro, Stripe, Vindi, MasterCard, Visa, American Express, outros.
|
||||
|
||||
www.torresdigital.tk * Menos é mais.
|
||||
|
||||
@@ -34,10 +34,10 @@ This theme is licensed under the GPL. Use it to make something cool, have fun, a
|
||||
.cm-s-2019-torres-digital-theme span.cm-variable-3 { color: #96F; }
|
||||
.cm-s-2019-torres-digital-theme span.cm-property { color: #F8019E; }
|
||||
.cm-s-2019-torres-digital-theme span.cm-operator { color: #999; }
|
||||
.cm-s-2019-torres-digital-theme span.cm-comment { color: #616163; }
|
||||
.cm-s-2019-torres-digital-theme span.cm-comment { color: #d5d5d5; font-weight: 600; }
|
||||
.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; }
|
||||
|
||||
@@ -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; }
|
||||
51
assets/css/theme/all-hallow-eve.css
Normal 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;
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
.cm-s-ambiance.CodeMirror {
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
55
assets/css/theme/argonaut.css
Normal 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;
|
||||
}
|
||||
53
assets/css/theme/black-pearl-ii.css
Normal 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;
|
||||
}
|
||||
54
assets/css/theme/chrome-devtools.css
Normal 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;
|
||||
}
|
||||
48
assets/css/theme/clouds-midnight.css
Normal 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;
|
||||
}
|
||||
55
assets/css/theme/darkpastel.css
Normal 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;
|
||||
}
|
||||
46
assets/css/theme/django.css
Normal 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;
|
||||
}
|
||||
50
assets/css/theme/eiffel.css
Normal 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;
|
||||
}
|
||||
51
assets/css/theme/emacs-strict.css
Normal file
@@ -0,0 +1,51 @@
|
||||
.cm-s-emacs-strict {
|
||||
font-family: monospace;
|
||||
background: #000000;
|
||||
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: #000000;
|
||||
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;
|
||||
}
|
||||
51
assets/css/theme/fade-to-grey.css
Normal 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
@@ -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;
|
||||
}
|
||||
54
assets/css/theme/friendship-bracelet.css
Normal 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;
|
||||
}
|
||||
46
assets/css/theme/glitterbomb.css
Normal 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
@@ -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;
|
||||
}
|
||||
49
assets/css/theme/idlefingers.css
Normal 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;
|
||||
}
|
||||
52
assets/css/theme/iplastic.css
Normal file
@@ -0,0 +1,52 @@
|
||||
.cm-s-iplastic {
|
||||
font-family: monospace;
|
||||
background: #EEEEEE;
|
||||
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: #EEEEEE;
|
||||
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;
|
||||
}
|
||||
45
assets/css/theme/ir_black.css
Normal 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;
|
||||
}
|
||||
45
assets/css/theme/ir_white.css
Normal 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;
|
||||
}
|
||||
45
assets/css/theme/johnny.css
Normal 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;
|
||||
}
|
||||
52
assets/css/theme/juicy.css
Normal 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;
|
||||
}
|
||||
43
assets/css/theme/krtheme.css
Normal 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;
|
||||
}
|
||||
@@ -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); }
|
||||
|
||||
@@ -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 { }
|
||||
|
||||
50
assets/css/theme/lowlight.css
Normal 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;
|
||||
}
|
||||
47
assets/css/theme/made-of-code.css
Normal file
@@ -0,0 +1,47 @@
|
||||
.cm-s-made-of-code {
|
||||
font-family: monospace;
|
||||
background: #090916;
|
||||
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: #090916;
|
||||
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;
|
||||
}
|
||||
@@ -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; }
|
||||
|
||||
|
||||
@@ -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); }
|
||||
|
||||
49
assets/css/theme/monoindustrial.css
Normal 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;
|
||||
}
|
||||
55
assets/css/theme/monokai-bright.css
Normal 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;
|
||||
}
|
||||
55
assets/css/theme/monokai-fannonedition.css
Normal 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
@@ -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;
|
||||
}
|
||||
@@ -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; }
|
||||
|
||||
49
assets/css/theme/nightlion.css
Normal 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;
|
||||
}
|
||||
55
assets/css/theme/oceanic.css
Normal 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;
|
||||
}
|
||||
@@ -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; }
|
||||
|
||||
@@ -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; }
|
||||
@@ -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); }
|
||||
|
||||
46
assets/css/theme/plasticcodewrap.css
Normal 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;
|
||||
}
|
||||
55
assets/css/theme/rails-envy.css
Normal 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;
|
||||
}
|
||||
54
assets/css/theme/rdark.css
Normal 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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
46
assets/css/theme/spectacular.css
Normal 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;
|
||||
}
|
||||
46
assets/css/theme/sunburst.css
Normal 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;
|
||||
}
|
||||
55
assets/css/theme/text-ex-machina.css
Normal 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;
|
||||
}
|
||||
42
assets/css/theme/tomorrow-night-blue.css
Normal 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;
|
||||
}
|
||||
53
assets/css/theme/venom.css
Normal 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;
|
||||
}
|
||||
@@ -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; }
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 164 B |
21
assets/images/icons/LICENCE
Normal 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.
|
||||
5
assets/images/icons/alert-triangle.svg
Normal 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 |
6
assets/images/icons/browser.svg
Normal 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 |
12
assets/images/icons/bug.svg
Normal 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 |
6
assets/images/icons/database.svg
Normal 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 |
9
assets/images/icons/git-compare.svg
Normal 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 |
6
assets/images/icons/info-circle.svg
Normal 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 |
5
assets/images/icons/layout-columns.svg
Normal 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 |
5
assets/images/icons/layout-list.svg
Normal 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 |
6
assets/images/icons/lock-open.svg
Normal 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 |
6
assets/images/icons/lock.svg
Normal 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 |
7
assets/images/icons/plug.svg
Normal 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 |
5
assets/images/icons/plus.svg
Normal 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 |
4
assets/images/icons/rotate-clockwise.svg
Normal 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 |
4
assets/images/icons/square.svg
Normal 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 |
6
assets/images/icons/terminal-2.svg
Normal 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 |
5
assets/images/icons/x.svg
Normal 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 |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 136 B |
@@ -21,6 +21,7 @@ var mode =
|
||||
: fileExt == "java" ? "text/x-java"
|
||||
: fileExt == "jl" ? "text/x-julia"
|
||||
: fileExt == "c" ? "text/x-csrc"
|
||||
: fileExt == "h" ? "text/x-csrc"
|
||||
: fileExt == "cpp" ? "text/x-c++src"
|
||||
: fileExt == "ino" ? "text/x-c++src"
|
||||
: fileExt == "cs" ? "text/x-csharp"
|
||||
|
||||
@@ -14,13 +14,13 @@ class Backup
|
||||
}
|
||||
|
||||
public function makeBackup($fileLoc, $fileName, $contents) {
|
||||
global $ftpSite, $t, $ICEcoder;
|
||||
global $t, $ICEcoder;
|
||||
|
||||
$backupDirFormat = "Y-m-d";
|
||||
|
||||
// Establish the base, host and date dir parts...
|
||||
$backupDirBase = str_replace("\\", "/", dirname(__FILE__)) . "/../data/backups/";
|
||||
$backupDirHost = isset($ftpSite) ? parse_url($ftpSite, PHP_URL_HOST) : "localhost";
|
||||
$backupDirHost = "localhost";
|
||||
$backupDirDate = date($backupDirFormat);
|
||||
|
||||
// Establish an array of dirs from base to our file location
|
||||
|
||||
188
classes/FTP.php
@@ -1,188 +0,0 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace ICEcoder;
|
||||
|
||||
use ICEcoder\System;
|
||||
|
||||
class FTP
|
||||
{
|
||||
private $systemClass;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->systemClass = new System();
|
||||
}
|
||||
|
||||
public function writeFile() {
|
||||
global $fileLoc, $fileName, $ftpConn, $ftpRoot, $ftpHost, $ftpMode, $ICEcoder, $doNext, $filemtime, $tabNum;
|
||||
|
||||
$ftpFilepath = ltrim($fileLoc . "/" . $fileName, "/");
|
||||
if (isset($_POST['changes'])) {
|
||||
// Get existing file contents as lines
|
||||
$loadedFile = toUTF8noBOM($this->ftpGetContents($ftpConn, $ftpRoot . $fileLoc . "/" . $fileName, $ftpMode), false);
|
||||
$fileLines = explode("\n", str_replace("\r", "", $loadedFile));
|
||||
// Need to add a new line at the end of each because explode will lose them,
|
||||
// want want to end up with same array that 'file($file)' produces for a local file
|
||||
// - it keeps the line endings at the end of each array item
|
||||
for ($i = 0; $i < count($fileLines); $i++) {
|
||||
if ($i < count($fileLines) - 1) {
|
||||
$fileLines[$i] .= $ICEcoder["lineEnding"];
|
||||
}
|
||||
}
|
||||
// Stitch changes onto it
|
||||
$contents = $this->systemClass->stitchChanges($fileLines, $_POST['changes']);
|
||||
|
||||
// get old file contents and count stats on usage \n and \r there
|
||||
// in this case we can keep line endings, which file had before, without
|
||||
// making code version control systems going crazy about line endings change in whole file.
|
||||
$unixNewLines = preg_match_all('/[^\r][\n]/u', $loadedFile);
|
||||
$windowsNewLines = preg_match_all('/[\r][\n]/u', $loadedFile);
|
||||
} else {
|
||||
$contents = $_POST['contents'];
|
||||
}
|
||||
|
||||
// replace \r\n (Windows), \r (old Mac) and \n (Linux) line endings with whatever we chose to be lineEnding
|
||||
$contents = str_replace("\r\n", $ICEcoder["lineEnding"], $contents);
|
||||
$contents = str_replace("\r", $ICEcoder["lineEnding"], $contents);
|
||||
$contents = str_replace("\n", $ICEcoder["lineEnding"], $contents);
|
||||
if (isset($_POST['changes']) && ($unixNewLines > 0) || ($windowsNewLines > 0)) {
|
||||
if ($unixNewLines > $windowsNewLines){
|
||||
$contents = str_replace($ICEcoder["lineEnding"], "\n", $contents);
|
||||
} elseif ($windowsNewLines > $unixNewLines){
|
||||
$contents = str_replace($ICEcoder["lineEnding"], "\r\n", $contents);
|
||||
}
|
||||
}
|
||||
// Write our file contents
|
||||
if (!$this->ftpWriteFile($ftpConn, $ftpFilepath, $contents, $ftpMode)) {
|
||||
$doNext .= 'ICEcoder.message("Sorry, could not write ' . $ftpFilepath . ' at ' . $ftpHost . '");';
|
||||
} else {
|
||||
$doNext .= 'ICEcoder.openFileMDTs[' . ($tabNum - 1) .']="' . $filemtime . '";';
|
||||
$doNext .= '(function() {var x = ICEcoder.openFileVersions; var y = ' . ($tabNum - 1) .'; x[y] = "undefined" != typeof x[y] ? x[y] + 1 : 1})(); ICEcoder.updateVersionsDisplay();';
|
||||
}
|
||||
}
|
||||
|
||||
// Start a FTP connection
|
||||
function ftpStart()
|
||||
{
|
||||
global $ftpConn, $ftpLogin, $ftpHost, $ftpUser, $ftpPass, $ftpPasv;
|
||||
|
||||
// Establish connection, login and maybe use pasv
|
||||
$ftpConn = ftp_connect($ftpHost);
|
||||
$ftpLogin = ftp_login($ftpConn, $ftpUser, $ftpPass);
|
||||
if ($ftpPasv) {
|
||||
ftp_pasv($ftpConn, true);
|
||||
}
|
||||
}
|
||||
|
||||
// End a FTP connection
|
||||
function ftpEnd()
|
||||
{
|
||||
global $ftpConn;
|
||||
|
||||
ftp_close($ftpConn);
|
||||
}
|
||||
|
||||
// Get dir/file lists (simple and detailed) from FTP detailed rawlist response
|
||||
function ftpGetList($ftpConn, $directory = '.')
|
||||
{
|
||||
$simpleList = $detailedList = array();
|
||||
// If we have a FTP rawlist to work with
|
||||
if (is_array($rows = @ftp_rawlist($ftpConn, $directory))) {
|
||||
foreach ($rows as $row) {
|
||||
// Split row up by spaces and set keys on $item array
|
||||
$chunks = preg_split("/\s+/", $row);
|
||||
list($item['rights'], $item['number'], $item['user'], $item['group'], $item['size'], $item['month'], $item['day'], $item['time']) = $chunks;
|
||||
// Also set if this is a dir or file
|
||||
$item['type'] = $chunks[0][0] === 'd' ? 'directory' : 'file';
|
||||
// Splice the array and finally work out $simpleList and $detailedList
|
||||
array_splice($chunks, 0, 8);
|
||||
$detailedList[implode(" ", $chunks)] = $item;
|
||||
$simpleList[] = implode(" ", $chunks);
|
||||
}
|
||||
// Return simple array list and detailed items list also
|
||||
return array('simpleList' => $simpleList, 'detailedList' => $detailedList);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Get detailed info on a file from returned info from ftpGetList
|
||||
function ftpGetFileInfo($ftpConn, $directory = '.', $fileName)
|
||||
{
|
||||
// Get both sets of arrays back and get our detailed list
|
||||
$ftpListArrays = $this->ftpGetList($ftpConn, $directory);
|
||||
$detailedList = $ftpListArrays['detailedList'];
|
||||
|
||||
// Now get the file info for our file
|
||||
$fileInfo = $detailedList[$fileName];
|
||||
|
||||
// Return the info
|
||||
return $fileInfo;
|
||||
}
|
||||
|
||||
// Get contents over FTP
|
||||
function ftpGetContents($ftpConn, $filepath, $ftpMode)
|
||||
{
|
||||
// Create temp handler, this type needed for extended char set
|
||||
$tempHandle = fopen('php://temp', 'r+');
|
||||
|
||||
// Get file from FTP assuming that it exists
|
||||
ftp_fget($ftpConn, $tempHandle, $filepath, $ftpMode, 0);
|
||||
|
||||
// Return our content
|
||||
return stream_get_contents($tempHandle, -1, 0);
|
||||
}
|
||||
|
||||
// Write file contents over FTP
|
||||
function ftpWriteFile($ftpConn, $filepath, $contents, $ftpMode)
|
||||
{
|
||||
// Create temp handler, this type needed for extended char set
|
||||
$tempHandle = fopen('php://temp', 'r+');
|
||||
|
||||
// Write contents to handle and rewind head
|
||||
fwrite($tempHandle, $contents);
|
||||
rewind($tempHandle);
|
||||
|
||||
// Write our content and return true/false
|
||||
return ftp_fput($ftpConn, $filepath, $tempHandle, $ftpMode, 0);
|
||||
}
|
||||
|
||||
// Make a new dir over FTP
|
||||
function ftpMkDir($ftpConn, $perms, $dir)
|
||||
{
|
||||
// Create the new dir
|
||||
if (!ftp_mkdir($ftpConn, $dir)) {
|
||||
return false;
|
||||
} else {
|
||||
// Also then set perms (we must be able to do that if we created dir, so can always return true)
|
||||
$this->ftpPerms($ftpConn, $perms, $dir);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Rename a dir/dile over FTP
|
||||
function ftpRename($ftpConn, $oldPath, $newPath)
|
||||
{
|
||||
// Return success status of rename
|
||||
return ftp_rename($ftpConn, $oldPath, $newPath);
|
||||
}
|
||||
|
||||
// Change dir/file perms over FTP
|
||||
function ftpPerms($ftpConn, $perms, $filePath)
|
||||
{
|
||||
// Return success status of perms change
|
||||
return ftp_chmod($ftpConn, $perms, $filePath);
|
||||
}
|
||||
|
||||
// Delete dir/file over FTP
|
||||
function ftpDelete($ftpConn, $type, $path)
|
||||
{
|
||||
if ($type == "file") {
|
||||
// Delete our file and return true/false
|
||||
return ftp_delete($ftpConn, $path);
|
||||
} else {
|
||||
// Delete our dir and return true/false
|
||||
return ftp_rmdir($ftpConn, $path);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,26 +4,24 @@ namespace ICEcoder;
|
||||
|
||||
use RecursiveDirectoryIterator;
|
||||
use RecursiveIteratorIterator;
|
||||
use ICEcoder\FTP;
|
||||
use ICEcoder\System;
|
||||
use scssc;
|
||||
use lessc;
|
||||
|
||||
class File
|
||||
{
|
||||
private $ftpClass;
|
||||
private $systemClass;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->ftpClass = new FTP();
|
||||
$this->systemClass = new System();
|
||||
}
|
||||
|
||||
public function check() {
|
||||
global $file, $fileOrig, $docRoot, $iceRoot, $fileLoc, $fileName, $error, $errorStr, $errorMsg;
|
||||
// Replace pipes with slashes, then establish the actual name as we may have HTML entities in filename
|
||||
$file = html_entity_decode(str_replace("|", "/", $file));
|
||||
// Infact we may have &lt; which when decoded is < and decoded again is original < so decoding twice is needed
|
||||
$file = html_entity_decode(html_entity_decode(str_replace("|", "/", $file)));
|
||||
|
||||
// Put the original $file var aside for use
|
||||
$fileOrig = $file;
|
||||
@@ -67,7 +65,7 @@ class File
|
||||
// On the banned file/dir list
|
||||
($bannedFileFound) ||
|
||||
// A local folder that isn't the doc root or starts with the doc root
|
||||
("getRemoteFile" !== $_GET['action'] && !isset($ftpSite) &&
|
||||
("getRemoteFile" !== $_GET['action'] &&
|
||||
rtrim($allFiles[$i], "/") !== rtrim($docRoot, "/") &&
|
||||
true === realpath(rtrim(dirname($allFiles[$i]), "/")) &&
|
||||
0 !== strpos(realpath(rtrim(dirname($allFiles[$i]), "/")), realpath(rtrim($docRoot, "/")))
|
||||
@@ -111,9 +109,9 @@ class File
|
||||
}
|
||||
|
||||
public function load() {
|
||||
global $file, $fileLoc, $fileName, $t, $ftpConn, $ftpHost, $ftpLogin, $ftpRoot, $ftpUser, $ftpMode;
|
||||
global $file, $fileLoc, $fileName, $t, $lineNumber;
|
||||
echo 'action="load";';
|
||||
$lineNumber = max(isset($_REQUEST['lineNumber']) ? intval($_REQUEST['lineNumber']) : 1, 1);
|
||||
$lineNumber = max(isset($_GET['lineNumber']) ? intval($_GET['lineNumber']) : 1, 1);
|
||||
// Check this file isn't on the banned list at all
|
||||
$canOpen = true;
|
||||
for ($i = 0; $i < count($_SESSION['bannedFiles']); $i++) {
|
||||
@@ -124,10 +122,10 @@ class File
|
||||
|
||||
if (false === $canOpen) {
|
||||
echo 'fileType="nothing"; parent.parent.ICEcoder.message(\'' . $t['Sorry, could not...'] . ' ' . $fileLoc . "/" . $fileName . '\');';
|
||||
} elseif (isset($ftpSite) || file_exists($file)) {
|
||||
} elseif (file_exists($file)) {
|
||||
$finfo = "text";
|
||||
// Determine what to do based on mime type
|
||||
if (!isset($ftpSite) && function_exists('finfo_open')) {
|
||||
if (function_exists('finfo_open')) {
|
||||
$finfoMIME = finfo_open(FILEINFO_MIME);
|
||||
$finfo = finfo_file($finfoMIME, $file);
|
||||
finfo_close($finfoMIME);
|
||||
@@ -144,20 +142,9 @@ class File
|
||||
if (0 === strpos($finfo, "text") || 0 === strpos($finfo, "application/json") || 0 === strpos($finfo, "application/xml") || false !== strpos($finfo, "empty")) {
|
||||
echo 'fileType="text";';
|
||||
|
||||
// Get file over FTP?
|
||||
if (isset($ftpSite)) {
|
||||
$this->ftpClass->ftpStart();
|
||||
// Show user warning if no good connection
|
||||
if (!$ftpConn || !$ftpLogin) {
|
||||
die('parent.parent.ICEcoder.message("Sorry, no FTP connection to ' . $ftpHost . ' for user ' . $ftpUser . '");parent.parent.ICEcoder.serverMessage();parent.parent.ICEcoder.serverQueue("del");</script>');
|
||||
}
|
||||
// Get our file contents and close the FTP connection
|
||||
$loadedFile = toUTF8noBOM($this->ftpClass->ftpGetContents($ftpConn, $ftpRoot . $fileLoc . "/" . $fileName, $ftpMode), false);
|
||||
$this->ftpClass->ftpEnd();
|
||||
// Get local file
|
||||
} else {
|
||||
$loadedFile = toUTF8noBOM(getData($file), true);
|
||||
}
|
||||
// Get data from file
|
||||
$loadedFile = toUTF8noBOM(getData($file), true);
|
||||
|
||||
$encoding = ini_get("default_charset");
|
||||
if ("" == $encoding) {
|
||||
$encoding = "UTF-8";
|
||||
@@ -186,7 +173,7 @@ class File
|
||||
|
||||
$script = 'if ("text" === fileType) {';
|
||||
|
||||
if (isset($ftpSite) || file_exists($file)) {
|
||||
if (file_exists($file)) {
|
||||
$script .= '
|
||||
setTimeout(function() {
|
||||
if (!parent.parent.ICEcoder.content.contentWindow.createNewCMInstance) {
|
||||
@@ -246,8 +233,8 @@ 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>" +
|
||||
"<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>" +
|
||||
"<canvas id=\"canvasPicker\" width=\"1\" height=\"1\" style=\"position: absolute; margin: 10px 0 0 10px; cursor: crosshair\"></canvas>" +
|
||||
"<img src=\"' . $fileLoc . "/" . $fileName . "?unique=" . microtime(true) .'\" class=\"imgDisplay\" 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>" +
|
||||
"</div><br>" +
|
||||
@@ -273,7 +260,6 @@ class File
|
||||
$fileName = $fileDetails['fileName'];
|
||||
$fileMDTURLPart = $fileDetails['fileMDTURLPart'];
|
||||
$fileVersionURLPart = $fileDetails['fileVersionURLPart'];
|
||||
$ftpSite = $fileDetails['ftpSite'];
|
||||
|
||||
$doNext = '
|
||||
ICEcoder.serverMessage();
|
||||
@@ -300,7 +286,7 @@ class File
|
||||
|
||||
/* Saving under conditions: Confirmation of overwrite or there is no filename conflict, it is a new file, in either case we can save */
|
||||
if (overwriteOK || noConflictSave) {
|
||||
newFileName = "' . (true === $ftpSite ? "" : $docRoot) . '" + newFileName;
|
||||
newFileName = "' . $docRoot . '" + newFileName;
|
||||
saveURL = "lib/file-control.php?action=save' . $fileMDTURLPart . $fileVersionURLPart . '&csrf=' . $_GET["csrf"] . '";
|
||||
|
||||
var xhr = ICEcoder.xhrObj();
|
||||
@@ -386,7 +372,7 @@ class File
|
||||
fclose($fh);
|
||||
|
||||
if ($setPerms) {
|
||||
chmod($file, octdec($ICEcoder['newFilePerms']));
|
||||
chmod($file, octdec((string) $ICEcoder['newFilePerms']));
|
||||
}
|
||||
clearstatcache();
|
||||
$filemtime = "Windows" !== $serverType ? filemtime($file) : "1000000";
|
||||
@@ -493,12 +479,12 @@ class File
|
||||
if (is_dir($source)) {
|
||||
$fileOrFolder = "folder";
|
||||
if (!is_dir($dest)) {
|
||||
mkdir($dest, octdec($ICEcoder['newDirPerms']));
|
||||
mkdir($dest, octdec((string) $ICEcoder['newDirPerms']));
|
||||
} else {
|
||||
for ($i = 2; $i < 1000000000; $i++) {
|
||||
if (!is_dir($dest . " (" . $i . ")")) {
|
||||
$dest = $dest." (" . $i . ")";
|
||||
mkdir($dest, octdec($ICEcoder['newDirPerms']));
|
||||
mkdir($dest, octdec((string) $ICEcoder['newDirPerms']));
|
||||
$i = 1000000000;
|
||||
}
|
||||
}
|
||||
@@ -508,9 +494,9 @@ class File
|
||||
RecursiveIteratorIterator::SELF_FIRST) as $item
|
||||
) {
|
||||
if ($item->isDir()) {
|
||||
mkdir($dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName(), octdec($ICEcoder['newDirPerms']));
|
||||
mkdir($dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName(), octdec((string) $ICEcoder['newDirPerms']));
|
||||
} else {
|
||||
copy($item, $dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName());
|
||||
copy($item->getPathName(), $dest . DIRECTORY_SEPARATOR . $iterator->getSubPathName());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -564,8 +550,8 @@ class File
|
||||
|
||||
$uploadDir = $docRoot . $iceRoot . str_replace("..", "", str_replace("|", "/", $_POST['folder'] . "/"));
|
||||
foreach($uploads as $current) {
|
||||
$uploadedFile = $uploadDir . $current->name;
|
||||
$fileName = $current->name;
|
||||
$uploadedFile = $uploadDir . $current['name'];
|
||||
$fileName = $current['name'];
|
||||
// Get & set existing perms for existing files, or set to newFilePerms setting for new files
|
||||
if (file_exists($uploadedFile)) {
|
||||
$chmodInfo = substr(sprintf('%o', fileperms($uploadedFile)), -4);
|
||||
@@ -586,8 +572,8 @@ class File
|
||||
}
|
||||
|
||||
private function uploadThisFile($current, $uploadFile, $setPerms){
|
||||
if (move_uploaded_file($current->tmp_name, $uploadFile)){
|
||||
chmod($uploadFile, octdec($setPerms));
|
||||
if (move_uploaded_file($current['tmp_name'], $uploadFile)){
|
||||
chmod($uploadFile, octdec((string) $setPerms));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -596,10 +582,11 @@ class File
|
||||
public function getUploadedDetails($fileArr) {
|
||||
$uploads = [];
|
||||
foreach($fileArr['name'] as $keyee => $info) {
|
||||
$uploads[$keyee]->name = xssClean($fileArr['name'][$keyee], "html");
|
||||
$uploads[$keyee]->type = $fileArr['type'][$keyee];
|
||||
$uploads[$keyee]->tmp_name = $fileArr['tmp_name'][$keyee];
|
||||
$uploads[$keyee]->error = $fileArr['error'][$keyee];
|
||||
$uploads[$keyee] = [];
|
||||
$uploads[$keyee]['name'] = xssClean($fileArr['name'][$keyee], "html");
|
||||
$uploads[$keyee]['type'] = $fileArr['type'][$keyee];
|
||||
$uploads[$keyee]['tmp_name'] = $fileArr['tmp_name'][$keyee];
|
||||
$uploads[$keyee]['error'] = $fileArr['error'][$keyee];
|
||||
}
|
||||
return $uploads;
|
||||
}
|
||||
@@ -721,26 +708,13 @@ class File
|
||||
}
|
||||
|
||||
public function returnJSON() {
|
||||
global $ftpSite, $ftpConn, $fileLoc, $fileName, $ftpRoot, $file, $filemtime, $finalAction, $timeStart, $error, $errorStr, $errorMsg, $doNext;
|
||||
global $fileLoc, $fileName, $file, $filemtime, $finalAction, $timeStart, $error, $errorStr, $errorMsg, $doNext;
|
||||
|
||||
if (isset($ftpSite)) {
|
||||
// Get info on dir/file now
|
||||
$ftpFileDirInfo = $this->ftpClass->ftpGetFileInfo($ftpConn, ltrim($fileLoc, "/"), $fileName);
|
||||
// End the connection
|
||||
$this->ftpClass->ftpEnd();
|
||||
// Then set info
|
||||
$itemAbsPath = $ftpRoot . $fileLoc . '/' . $fileName;
|
||||
$itemPath = dirname($ftpRoot.$fileLoc . '/' . $fileName);
|
||||
$itemBytes = $ftpFileDirInfo['size'];
|
||||
$itemType = (isset($ftpFileDirInfo['type']) ? ("directory" === $ftpFileDirInfo['type'] ? "dir" : "file") : "unknown");
|
||||
$itemExists = (isset($ftpFileDirInfo['type']) ? "true" : "false");
|
||||
} else {
|
||||
$itemAbsPath = $file;
|
||||
$itemPath = dirname($file);
|
||||
$itemBytes = is_dir($file) || !file_exists($file) ? null : filesize($file);
|
||||
$itemType = (file_exists($file) ? (is_dir($file) ? "dir" : "file") : "unknown");
|
||||
$itemExists = (file_exists($file) ? "true" : "false");
|
||||
}
|
||||
$itemAbsPath = $file;
|
||||
$itemPath = dirname($file);
|
||||
$itemBytes = is_dir($file) || !file_exists($file) ? null : filesize($file);
|
||||
$itemType = (file_exists($file) ? (is_dir($file) ? "dir" : "file") : "unknown");
|
||||
$itemExists = (file_exists($file) ? "true" : "false");
|
||||
|
||||
return '{
|
||||
"file": {
|
||||
|
||||
@@ -7,10 +7,20 @@ class Settings
|
||||
public function __construct()
|
||||
{
|
||||
// Set version number and document root as core settings
|
||||
$this->versionNo = "8.0 beta";
|
||||
$this->docRoot = $_SERVER['DOCUMENT_ROOT'];
|
||||
// Defaults to the right
|
||||
$this->versionNo = "8.1"; // "8.1";
|
||||
$this->docRoot = $_SERVER['DOCUMENT_ROOT']; // $_SERVER['DOCUMENT_ROOT']
|
||||
$this->assetsRoot = "assets"; // "assets" (relative or absolute)
|
||||
}
|
||||
|
||||
public function getCoreDetails()
|
||||
{
|
||||
return [
|
||||
"versionNo" => $this->versionNo,
|
||||
"docRoot" => $this->docRoot,
|
||||
"assetsRoot" => $this->assetsRoot,
|
||||
];
|
||||
}
|
||||
|
||||
// ========
|
||||
// DATA DIR
|
||||
@@ -37,7 +47,7 @@ class Settings
|
||||
// GLOBAL CONFIG
|
||||
// =============
|
||||
|
||||
public function getConfigGlobalTemplate()
|
||||
public function getConfigGlobalTemplate($asArray)
|
||||
{
|
||||
// Return the serialized global config template
|
||||
$fileName = 'template-config-global.php';
|
||||
@@ -46,6 +56,9 @@ class Settings
|
||||
opcache_invalidate($fullPath, true);
|
||||
}
|
||||
$settings = file_get_contents($fullPath);
|
||||
if ($asArray) {
|
||||
$settings = $this->serializedFileData("get", $fullPath);
|
||||
}
|
||||
return $settings;
|
||||
}
|
||||
|
||||
@@ -73,9 +86,7 @@ class Settings
|
||||
public function getConfigGlobalSettings()
|
||||
{
|
||||
// Start an array with version number and document root
|
||||
$settings = [];
|
||||
$settings['versionNo'] = $this->versionNo;
|
||||
$settings['docRoot'] = $this->docRoot;
|
||||
$settings = $this->getCoreDetails();
|
||||
// Get global config file details
|
||||
$fullPath = $this->getConfigGlobalFileDetails()['fullPath'];
|
||||
$settingsFromFile = $this->serializedFileData("get", $fullPath);
|
||||
@@ -113,7 +124,7 @@ class Settings
|
||||
// USERS CONFIG
|
||||
// ============
|
||||
|
||||
public function getConfigUsersTemplate()
|
||||
public function getConfigUsersTemplate($asArray)
|
||||
{
|
||||
// Return the serialized users config template
|
||||
$fileName = 'template-config-users.php';
|
||||
@@ -122,6 +133,9 @@ class Settings
|
||||
opcache_invalidate($fullPath, true);
|
||||
}
|
||||
$settings = file_get_contents($fullPath);
|
||||
if ($asArray) {
|
||||
$settings = $this->serializedFileData("get", $fullPath);
|
||||
}
|
||||
return $settings;
|
||||
}
|
||||
|
||||
@@ -171,7 +185,7 @@ class Settings
|
||||
return $this->setConfigUsersSettings($fileName, $settings);
|
||||
}
|
||||
|
||||
public function updateConfigUsersCreateDate($fileName): void
|
||||
public function updateConfigUsersCreateDate($fileName)
|
||||
{
|
||||
global $ICEcoderUserSettings;
|
||||
|
||||
@@ -191,7 +205,7 @@ class Settings
|
||||
$ICEcoderUserSettings['configCreateDate'] = $filemtime;
|
||||
}
|
||||
|
||||
public function createIPSettingsFileIfNotExist(): void
|
||||
public function createIPSettingsFileIfNotExist()
|
||||
{
|
||||
global $username, $settingsFile, $settingsFileAddr;
|
||||
|
||||
@@ -201,7 +215,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";
|
||||
|
||||
@@ -4,16 +4,33 @@ namespace ICEcoder;
|
||||
|
||||
class System
|
||||
{
|
||||
/**
|
||||
* @param $name
|
||||
*/
|
||||
public function functionEnabled($name) {
|
||||
return is_callable($name) && false === stripos(ini_get('disable_functions'), $name);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $path
|
||||
*/
|
||||
private function createDirIfNotExists($path): void
|
||||
private function createDirIfNotExists($path)
|
||||
{
|
||||
if (false === file_exists($path)) {
|
||||
mkdir($path);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $path
|
||||
*/
|
||||
private function createFileIfNotExists($path)
|
||||
{
|
||||
if (false === file_exists($path)) {
|
||||
touch($path);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
@@ -26,13 +43,14 @@ class System
|
||||
}
|
||||
}
|
||||
|
||||
public function setErrorHandling(): void
|
||||
public function setErrorHandling()
|
||||
{
|
||||
// Don't display, but log all errors
|
||||
ini_set('display_errors', '0');
|
||||
ini_set('log_errors', '1');
|
||||
$this->createDirIfNotExists(dirname(__FILE__) . '/../data/logs');
|
||||
$this->createDirIfNotExists(dirname(__FILE__) . '/../data/logs/error');
|
||||
$this->createFileIfNotExists(dirname(__FILE__) . '/../data/logs/error/error.log');
|
||||
ini_set('error_log', dirname(__FILE__) . '/../data/logs/error/error.log');
|
||||
error_reporting(-1);
|
||||
}
|
||||
@@ -41,7 +59,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 +68,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 +92,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 +166,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 "";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
|
||||