initial commit

This commit is contained in:
teraflops 2025-05-29 22:40:58 +02:00
commit 214516ac67
Signed by: teraflops
GPG Key ID: 2B77D97AF6F8968C
153 changed files with 20170 additions and 0 deletions

View File

@ -0,0 +1,190 @@
#compdef pastebin_client.sh
_pastebin_client() {
local context state line
typeset -A opt_args
API_URL="https://paste.priet.us"
# List of main subcommands
local -a subcommands
subcommands=(
'login:Log in with username and password'
'create:Create a paste from STDIN'
'upload:Upload a file'
'list:List all pastes with optional filters'
'view:Show the content of a paste'
'view_raw:Show raw content of a paste'
'delete:Delete a paste'
'register:Register a new user'
'details:Show details about the logged-in user'
'search:Search for pastes by a search term'
'favorite:Add a paste to favorites'
'unfavorite:Remove a paste from favorites'
'download:Download the content of a paste'
'download_all:Download all pastes'
'download_favorites:Download all favorite pastes'
'list_favorites:List all favorite pastes'
'list_pastes:List all pastes of current user'
'shared_with_others:List pastes shared with other users'
'shared_with_me:List pastes others shared with me'
'share:Share a paste with another user'
'unshare:Unshare a paste with a user'
'edit:Edit paste from command line and upload changes to the server'
'remove_gps: remove gps metadata from pastte id'
)
# Define the autocompletion logic
_arguments -C \
'1:subcommand:->cmd' \
'*::argument:->args'
case $state in
cmd)
# Display available subcommands
_describe -t subcommands 'subcommand' subcommands
;;
args)
case $words[1] in
login)
# login <username> <password>
_arguments \
'1:Username:_default' \
'2:Password:_default'
;;
create)
_arguments \
'1:Expire after 1 day:_expire_options' \
'2:Private:_private_options' # ✅ Referencia a listas de valores
;;
remove_gps)
# remove_gps <paste_id>
_dynamic_paste_ids
;;
# upload <file> <language>
upload)
_arguments \
'1:File:_files' \
'2:Expire after 1 day:_expire_options' \
'3:Private:_private_options' # ✅ Referencia a listas de valores
;;
list)
# list options: --type, --from, --to
_arguments \
'--type=[Filter by paste type]:type:(Text Image Video)' \
'--from=[Start date (YYYY-MM-DD)]' \
'--to=[End date (YYYY-MM-DD)]'
;;
view|view_raw|delete|favorite|unfavorite|download|edit)
# view <paste_id>, view_raw <paste_id>, delete <paste_id>, favorite <paste_id>, unfavorite <paste_id>, download <paste_id>, edit <paste_id>
_dynamic_paste_ids
;;
download_all|download_favorites|list_favorites)
# No additional arguments
;;
register)
# register <username> <password>
_arguments \
'1:Username:_default' \
'2:Password:_default'
;;
details)
# details (no arguments)
;;
search)
# search <query>
_arguments '1:Search query:_default'
;;
share|unshare)
# share <paste_id> <username> [can_edit]
if [[ $words[1] == "share" ]]; then
_arguments \
'1:Paste ID:_dynamic_paste_ids' \
'2:Username:_dynamic_usernames' \
'3:Can Edit:(true false)'
else
# unshare <paste_id> <username>
_arguments \
'1:Paste ID:_dynamic_paste_ids' \
'2:Username:_dynamic_usernames'
fi
;;
esac
;;
esac
}
_expire_options() {
_values "Expiration option" \
"yes[The paste will expire after 1 day]" \
"no[The paste will not expire]"
}
_private_options() {
_values "Privacy option" \
"yes[The paste will be private]" \
"no[The paste will be public]"
}
# Function to dynamically fetch paste IDs from the server
_dynamic_paste_ids() {
local token_file="$HOME/.pastebin_token"
local token
local response
local paste_ids=()
# Check if the token file exists
if [[ -f "$token_file" ]]; then
token=$(cat "$token_file")
else
_message "No token found. Please log in first."
return
fi
# Fetch paste IDs using the API
response=$(curl -s -H "Authorization: Bearer $token" "$API_URL/pastes")
# Parse the response to extract paste IDs
if [[ $? -eq 0 ]]; then
paste_ids=($(echo "$response" | jq -r '.[].id'))
fi
if (( ${#paste_ids[@]} )); then
_values "paste_id" "${paste_ids[@]}"
else
_message "No pastes found."
fi
}
# Function to dynamically fetch usernames from the server
_dynamic_usernames() {
local token_file="$HOME/.pastebin_token"
local token
local response
local usernames=()
# Check if the token file exists
if [[ -f "$token_file" ]]; then
token=$(cat "$token_file")
else
_message "No token found. Please log in first."
return
fi
# Fetch usernames using the API
response=$(curl -s -H "Authorization: Bearer $token" "$API_URL/api/users")
# Parse the response to extract usernames
if [[ $? -eq 0 ]]; then
usernames=($(echo "$response" | jq -r '.users[]'))
fi
if (( ${#usernames[@]} )); then
_values "username" "${usernames[@]}"
else
_message "No users found."
fi
}
# Associate the autocompletion function with the script name
compdef _pastebin_client pastebin_client.sh

25
Dockerfile Normal file
View File

@ -0,0 +1,25 @@
FROM python:3.9-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc \
libpq-dev \
build-essential \
python3-dev \
libmagic-dev \
mediainfo \
tesseract-ocr \
libtesseract-dev \
poppler-utils \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 5000
CMD ["gunicorn", "--preload", "-w", "4", "-b", "0.0.0.0:5000", "--timeout", "120", "app:app", "--log-level=debug"]

26
LICENSE Normal file
View File

@ -0,0 +1,26 @@
BSD 2-Clause License
Copyright (c) 2024, [Tu Nombre o Nombre de tu Organización]
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

261
README.md Normal file
View File

@ -0,0 +1,261 @@
# MyPastebin
**MyPastebin** is an application for creating and sharing text or file pastes with syntax highlighting. You can also access content in raw format and manage it through an API or a Bash client.
## Features
- Create text pastes or upload files with syntax highlighting.
- Supports images, videos, and generic binary files.
- View pastes in HTML or raw format.
- User management: register new users and list existing users (admin only).
- Interact with the application using `curl` or a Bash client.
- List and delete pastes with authentication.
- Deployable with Docker and Kubernetes.
## Technologies Used
- **Python** (Flask) for the backend.
- **SQLite** or **postgresql** as a local database.
- **Pygments** for syntax highlighting.
- **Docker** and **Kubernetes** for deployments.
## Installation and Usage
### Using Docker
1. Build the Docker image:
```bash
docker build -t mypastebin .
2. Start the container with Docker Compose::
```bash
docker-compose up -d
```
3. The application will be available at `http://localhost:5000`.
### Using Kubernetes
1. Apply the Kubernetes manifests:
```bash
kubectl apply -f k8s/
```
2. Access the service through the Ingress configured in your cluster.
### Acceso a la Aplicación
the app will be available at : [https://paste.priet.us](https://paste.priet.us).
Bash Client
-----------
The Bash client simplifies interaction with the service. Download it here:
[Download Bash Client](https://gitlab.com/teraflops/mypastebin/-/blob/main/pastebin_client.sh) | [GitLab Repository](https://gitlab.com/teraflops/mypastebin)
### Examples
* **Authentication:**
./pastebin_client.sh login admin password123
* **Create a Paste (with expiration):**
echo "Hello World" | ./pastebin_client.sh create plaintext yes
Creates a paste in `plaintext` format that expires in 1 day.
* **Upload a File (with expiration):**
./pastebin_client.sh upload script.py python yes
Uploads `script.py` as a Python paste that expires in 1 day.
* **View a Paste:**
./pastebin_client.sh view 1
* **View Raw Content:**
./pastebin_client.sh view_raw 1
* **List Pastes:**
./pastebin_client.sh list
* **Delete a Paste:**
./pastebin_client.sh delete 1
* **Search Paste Contents:**
./pastebin_client.sh search "search term"
* **User Details:**
./pastebin_client.sh details
* **Mark a Paste as Favorite:**
./pastebin_client.sh favorite 1
* **Remove a Paste from Favorites:**
./pastebin_client.sh unfavorite 1
* **Download a Paste:**
./pastebin_client.sh download 1
* **List Favorites:**
./pastebin_client.sh list_favorites
* **List Pastes Shared With Others:**
./pastebin_client.sh shared_with_others
* **List Pastes Shared With Me:**
./pastebin_client.sh shared_with_me
* **Share a Paste:**
./pastebin_client.sh share 1 username true
Shares paste with ID 1 with `username`, allowing edit if `true` is passed.
* **Unshare a Paste:**
./pastebin_client.sh unshare 1 test
* **Edit a Paste (via Editor):**
./pastebin_client.sh edit 1
Opens paste with ID 1 in your default editor. Upon saving and exiting, the updated content is sent to the server.
Curl Examples
-------------
Interact directly with the service using `curl`.
* **Authentication:**
curl -X POST {{ request.host_url }}api/token \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"password123"}'
* **Create a Paste (with expiration):**
echo "Hello World" | curl -X POST {{ request.host_url }}paste \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-F "c=@-" \
-F "lang=plaintext" \
-F "expire=yes"
Creates a paste that expires in 1 day. Use `expire=no` for permanent pastes.
* **Upload a File (with expiration):**
curl -X POST {{ request.host_url }}paste \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-F "c=@script.py" \
-F "lang=python" \
-F "expire=yes"
Uploads `script.py` as a Python paste that expires in 1 day.
* **View a Paste:**
curl {{ request.host_url }}paste/1/json \
-H "Authorization: Bearer <YOUR_TOKEN>"
* **View Raw Content:**
curl {{ request.host_url }}paste/1/raw \
-H "Authorization: Bearer <YOUR_TOKEN>"
* **List Pastes:**
curl -H "Authorization: Bearer <YOUR_TOKEN>" {{ request.host_url }}pastes
* **Delete a Paste:**
curl -X DELETE {{ request.host_url }}paste/1 \
-H "Authorization: Bearer <YOUR_TOKEN>"
* **Search Paste Contents:**
curl -X GET {{ request.host_url }}pastes/search?q="search term" \
-H "Authorization: Bearer <YOUR_TOKEN>"
* **User Details:**
curl -X GET {{ request.host_url }}user/details \
-H "Authorization: Bearer <YOUR_TOKEN>"
* **Mark a Paste as Favorite:**
curl -X POST {{ request.host_url }}api/paste/1/favorite \
-H "Authorization: Bearer <YOUR_TOKEN>"
* **Remove a Paste from Favorites:**
curl -X POST {{ request.host_url }}api/paste/1/unfavorite \
-H "Authorization: Bearer <YOUR_TOKEN>"
* **Download a Paste:**
curl -X GET {{ request.host_url }}api/paste/1/download \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-J -O
* **List Favorites:**
curl -X GET {{ request.host_url }}api/favorites \
-H "Authorization: Bearer <YOUR_TOKEN>"
* **List Pastes Shared With Others:**
curl -X GET {{ request.host_url }}api/shared_with_others \
-H "Authorization: Bearer <YOUR_TOKEN>"
* **List Pastes Shared With Me:**
curl -X GET {{ request.host_url }}api/shared_with_me \
-H "Authorization: Bearer <YOUR_TOKEN>"
* **Share a Paste:**
curl -X POST {{ request.host_url }}api/paste/1/share \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"username": "test_user",
"can_edit": true
}'
Shares paste with ID 1 with `test_user`, allowing edit if `can_edit` is `true`.
* **Unshare a Paste:**
curl -X POST {{ request.host_url }}api/paste/1/unshare \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"username": "test"
}'
* **Edit a Paste:**
curl -X PUT {{ request.host_url }}api/paste/1 \
-H "Authorization: Bearer <YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"content": "Updated content here"
}'
Overwrites the content of paste with ID 1 using JSON. Make sure the authenticated user has edit permission.

116
app.py Normal file
View File

@ -0,0 +1,116 @@
from flask import Flask, render_template, request, redirect, url_for, flash, session
from src.models import db, User, Paste
from src.routes import init_routes
from src.auth import jwt_required
from config import SQLALCHEMY_DATABASE_URI, SQLALCHEMY_ENGINE_OPTIONS
from werkzeug.security import generate_password_hash
from sqlalchemy.exc import IntegrityError
import os
from flask_login import LoginManager, login_user, current_user, logout_user, login_required
from werkzeug.middleware.proxy_fix import ProxyFix
import logging
from config import UPLOAD_FOLDER
from flask_migrate import Migrate
from flask_apscheduler import APScheduler
from src.routes import delete_expired_pastes
from elasticsearch import Elasticsearch
# Inicializa la aplicación Flask
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = SQLALCHEMY_DATABASE_URI
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SQLALCHEMY_ENGINE_OPTIONS'] = SQLALCHEMY_ENGINE_OPTIONS
app.secret_key = 'admin_console_secret_key'
app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1, x_host=1)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
# Inicializa la base de datos
db.init_app(app)
migrate = Migrate(app, db)
# Inicializa Flask-Login
login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'login'
login_manager.login_message_category = 'info'
# Cargador de usuario para Flask-Login
@login_manager.user_loader
def load_user(user_id):
return User.query.get(int(user_id)) # Asegúrate de que la ruta de importación sea correcta
# Conexión con Elasticsearch
es = Elasticsearch(["http://elasticsearch:9200"])
def create_paste_index():
"""
Crea el índice 'pastes' en Elasticsearch si no existe.
"""
index_name = "pastes"
mappings = {
"mappings": {
"properties": {
"id": { "type": "keyword" },
"title": { "type": "text" },
"content": { "type": "text" },
"owner_id": { "type": "keyword" },
"language": { "type": "keyword" },
"content_type": { "type": "keyword" },
"created_at": { "type": "date" },
"private": { "type": "boolean" },
"shared_with": { "type": "keyword" } # ✅ Se deja sin `ignore_above` para múltiples valores
}
}
}
# Eliminar índice si ya existe (para evitar conflictos)
if es.indices.exists(index=index_name):
es.indices.delete(index=index_name)
print(f"[INFO] Índice '{index_name}' eliminado antes de la recreación.")
# Crear el índice con la nueva estructura
es.indices.create(index=index_name, body=mappings)
print(f"[INFO] Índice '{index_name}' creado correctamente en Elasticsearch.")
# Ejecuta la creación del índice en el contexto de la app
with app.app_context():
db.create_all()
create_paste_index() # 📌 Aquí se crea el índice antes de inicializar las rutas
default_username = os.getenv("VALID_USER", "admin")
default_password = os.getenv("VALID_PASS", "password123")
try:
if not User.query.filter_by(username=default_username).first():
user = User(username=default_username)
user.set_password(default_password)
db.session.add(user)
db.session.commit()
print(f"Usuario por defecto creado: {default_username}")
else:
print(f"Usuario por defecto ya existe: {default_username}")
except IntegrityError:
db.session.rollback()
print("Usuario admin ya existía. Continuando...")
# Inicializar rutas
init_routes(app)
scheduler = APScheduler()
def delete_expired_pastes_task():
"""Ejecuta la limpieza de pastes expirados dentro del contexto de Flask"""
with app.app_context():
delete_expired_pastes()
def setup_scheduler(app):
"""Configura y arranca el scheduler"""
scheduler.init_app(app)
scheduler.start()
scheduler.add_job(id='delete_expired_pastes', func=delete_expired_pastes_task, trigger='interval', hours=1)
setup_scheduler(app)
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)

65
config.py Normal file
View File

@ -0,0 +1,65 @@
import os
# Base de datos
DB_ENGINE = os.getenv("DB_ENGINE", "sqlite")
POSTGRES_USER = os.getenv("POSTGRES_USER", "mypasteuser")
POSTGRES_PASSWORD = os.getenv("POSTGRES_PASSWORD", "mypastepassword")
POSTGRES_DB = os.getenv("POSTGRES_DB", "mypastedb")
POSTGRES_HOST = os.getenv("POSTGRES_HOST", "db")
POSTGRES_PORT = os.getenv("POSTGRES_PORT", "5432")
DB_URI_POSTGRES = f"postgresql://{POSTGRES_USER}:{POSTGRES_PASSWORD}@{POSTGRES_HOST}:{POSTGRES_PORT}/{POSTGRES_DB}"
DB_PATH = os.getenv("DB_PATH", "/app/database/database.db")
DB_URI_SQLITE = f"sqlite:///{DB_PATH}"
if DB_ENGINE == "postgres":
SQLALCHEMY_DATABASE_URI = DB_URI_POSTGRES
SQLALCHEMY_ENGINE_OPTIONS = {
"pool_pre_ping": True,
"pool_recycle": 1800, # Recycle connections every 30 minutes
"pool_size": 10, # Set the pool size
"max_overflow": 20 # Allow a maximum of 20 connections to exceed the pool size
}
else:
SQLALCHEMY_DATABASE_URI = DB_URI_SQLITE
SQLALCHEMY_ENGINE_OPTIONS = {}
# Clave secreta para JWT
SECRET_KEY = os.getenv("SECRET_KEY", "lñkkjkjkñkljñkjñkljlkjñklljñkjñlkj") # Mejor usar una clave generada al desplegar
JWT_ALGORITHM = os.getenv("JWT_ALGORITHM", "HS256")
JWT_EXP_DELTA_SECONDS = int(os.getenv("JWT_EXP_DELTA_SECONDS", 3600))
# Ruta para subir archivos
UPLOAD_FOLDER = os.getenv("UPLOAD_FOLDER", "/app/uploads")
# Configuración de SMTP
SMTP_SERVER = os.getenv("SMTP_SERVER", "priet.us")
SMTP_PORT = int(os.getenv("SMTP_PORT", 465)) # Usa 465 para SSL
SMTP_USERNAME = os.getenv("SMTP_USERNAME", "")
SMTP_PASSWORD = os.getenv("SMTP_PASSWORD", "")
SMTP_USE_TLS = os.getenv("SMTP_USE_TLS", "false").lower() == "true"
SMTP_USE_SSL = os.getenv("SMTP_USE_SSL", "true").lower() == "true"
# config.py
ROLE_STORAGE_LIMITS = {
'admin': -1, # Ilimitado
'advanced': 2 * 1024**3, # 2GB en bytes
'user': 1 * 1024**3, # 1GB en bytes
}
# Debugging (opcional)
if __name__ == "__main__":
print("Current configuration:")
print(f"DB_ENGINE: {DB_ENGINE}")
print(f"SQLALCHEMY_DATABASE_URI: {SQLALCHEMY_DATABASE_URI}")
print(f"JWT_ALGORITHM: {JWT_ALGORITHM}")
print(f"JWT_EXP_DELTA_SECONDS: {JWT_EXP_DELTA_SECONDS}")
print(f"UPLOAD_FOLDER: {UPLOAD_FOLDER}")
print(f"SMTP_SERVER: {SMTP_SERVER}")
print(f"SMTP_PORT: {SMTP_PORT}")
print(f"SMTP_USERNAME: {SMTP_USERNAME}")
print(f"SMTP_USE_TLS: {SMTP_USE_TLS}")
print(f"SMTP_USE_SSL: {SMTP_USE_SSL}")

67
docker-compose.yml Normal file
View File

@ -0,0 +1,67 @@
services:
db:
image: postgres:15
environment:
- POSTGRES_USER=mypasteuser
- POSTGRES_PASSWORD=mypastepassword
- POSTGRES_DB=mypastedb
volumes:
- db_data:/var/lib/postgresql/data
networks:
- my_network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U mypasteuser -d mypastedb"]
interval: 5s
timeout: 3s
retries: 5
app:
build: .
ports:
- "5000:5000"
volumes:
- ./uploads:/app/uploads
environment:
- DB_ENGINE=postgres
- POSTGRES_USER=mypasteuser
- POSTGRES_PASSWORD=mypastepassword
- POSTGRES_DB=mypastedb
- POSTGRES_HOST=db
- POSTGRES_PORT=5432
- VALID_USER=admin
- VALID_PASS=password
- FLASK_ENV=production
- ELASTICSEARCH_HOST=http://elasticsearch:9200 # Agregado
depends_on:
db:
condition: service_healthy
elasticsearch:
condition: service_started
networks:
- my_network
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:8.9.0
environment:
- discovery.type=single-node # Configuración básica para un nodo único
- ES_JAVA_OPTS=-Xms512m -Xmx512m # Configuración de memoria
- xpack.security.enabled=false
- action.auto_create_index=true
ports:
- "9200:9200" # Puerto HTTP
- "9300:9300" # Puerto de comunicación entre nodos
networks:
- my_network
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:9200 || exit 1"]
interval: 5s
timeout: 3s
retries: 5
volumes:
db_data:
networks:
my_network:
driver: bridge

25
generate_css.py Normal file
View File

@ -0,0 +1,25 @@
import os
from pygments.styles import get_all_styles
from pygments.formatters import HtmlFormatter
# Define la carpeta de destino para los archivos CSS
OUTPUT_DIR = os.path.join('static', 'css')
# Crea la carpeta si no existe
os.makedirs(OUTPUT_DIR, exist_ok=True)
# Itera sobre todos los estilos disponibles en Pygments
for style in get_all_styles():
formatter = HtmlFormatter(style=style, linenos=True, cssclass="highlight")
css = formatter.get_style_defs('.highlight')
# Define el nombre del archivo CSS
css_filename = f"{style}.css"
css_path = os.path.join(OUTPUT_DIR, css_filename)
# Escribe el CSS en el archivo
with open(css_path, 'w') as f:
f.write(css)
print(f"Generado: {css_path}")

View File

@ -0,0 +1,35 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: static-content
labels:
app: static-content
spec:
replicas: 1
selector:
matchLabels:
app: static-content
template:
metadata:
labels:
app: static-content
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
volumeMounts:
- name: static-files
mountPath: /usr/share/nginx/html
- name: nginx-config
mountPath: /etc/nginx/conf.d/default.conf
subPath: default.conf
volumes:
- name: static-files
persistentVolumeClaim:
claimName: static-pvc
- name: nginx-config
configMap:
name: nginx-config

28
k8s/cdn/cdn-ingress.yaml Normal file
View File

@ -0,0 +1,28 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: cdn-ingress
namespace: default
annotations:
kubernetes.io/ingress.class: traefik
cert-manager.io/cluster-issuer: letsencrypt-prod-dns
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
traefik.ingress.kubernetes.io/router.tls.certresolver: letsencrypt
spec:
rules:
- host: cdn.priet.us
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: static-content-service
port:
number: 80
tls:
- hosts:
- cdn.priet.us
secretName: cdn-tls

View File

@ -0,0 +1,39 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-config
labels:
app: static-content
data:
default.conf: |
server {
listen 80;
server_name cdn.priet.us;
root /usr/share/nginx/html;
# Bloque para manejar solicitudes de archivos estáticos con CORS
location ~* \.(css|js|woff|woff2|ttf|eot|svg)$ {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept' always;
# Manejar solicitudes OPTIONS (preflight)
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept' always;
add_header 'Content-Length' 0;
add_header 'Content-Type' 'text/plain; charset=UTF-8';
return 204;
}
try_files $uri $uri/ =404;
}
# Bloque para manejar otras solicitudes
location / {
try_files $uri $uri/ =404;
}
}

12
k8s/cdn/cdn-pvc.yaml Normal file
View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: static-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: longhorn

14
k8s/cdn/cdn-service.yaml Normal file
View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: static-content-service
namespace: default
spec:
selector:
app: static-content
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ClusterIP

31
k8s/cdn/default.conf Normal file
View File

@ -0,0 +1,31 @@
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
# Bloque para manejar solicitudes de archivos estáticos con CORS
location ~* \.(css|js|woff|woff2|ttf|eot|svg)$ {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept' always;
# Manejar solicitudes OPTIONS (preflight)
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept' always;
add_header 'Content-Length' 0;
add_header 'Content-Type' 'text/plain; charset=UTF-8';
return 204;
}
try_files $uri $uri/ =404;
}
# Bloque para manejar otras solicitudes
location / {
try_files $uri $uri/ =404;
}
}

15
k8s/configmap.yaml Normal file
View File

@ -0,0 +1,15 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: pastebin-config
namespace: default
data:
SMTP_USE_TLS: "false"
SMTP_USE_SSL: "true"
SMTP_SERVER: "priet.us"
SMTP_USERNAME: "me@priet.us"
SMTP_PORT: "465"
SMTP_PASSWORD: "wasamasa123"
JWT_EXP_DELTA_SECONDS: "86400"
VALID_USER: "admin"
VALID_PASS: "wasamasa123"

66
k8s/deployent.yaml Normal file
View File

@ -0,0 +1,66 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: pastebin-app
spec:
replicas: 1
selector:
matchLabels:
app: pastebin
template:
metadata:
labels:
app: pastebin
spec:
# Solo mantengo un initContainer para "uploads",
# asumiendo que no necesitas fix-permissions para /app/database
initContainers:
- name: fix-permissions-uploads
image: busybox
command: ["sh", "-c", "chown -R 1000:1000 /app/uploads"]
volumeMounts:
- name: uploads
mountPath: /app/uploads
containers:
- name: pastebin-container
image: prietus/pastebin-app:1.2
ports:
- containerPort: 5000
securityContext:
runAsUser: 0
runAsGroup: 0
env:
# Variables para que tu app apunte a PostgreSQL
- name: DB_ENGINE
value: "postgres"
- name: POSTGRES_HOST
value: "db-service" # <--- nombre del servicio de PostgreSQL en el cluster
- name: POSTGRES_PORT
value: "5432"
- name: POSTGRES_USER
value: "postgres" # <--- ajusta según tu config
- name: POSTGRES_PASSWORD
value: "password" # <--- ajusta según tu config
- name: POSTGRES_DB
value: "mypastedb" # <--- ajusta según tu config
# Usuario/contraseña por defecto de la app
- name: VALID_USER
value: "admin"
- name: VALID_PASS
value: "password"
# Configuración de entorno Flask
- name: FLASK_ENV
value: "production"
volumeMounts:
- name: uploads
mountPath: /app/uploads
volumes:
- name: uploads
persistentVolumeClaim:
claimName: uploads-pvc

View File

@ -0,0 +1,97 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: pastebin-app
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: pastebin
template:
metadata:
labels:
app: pastebin
spec:
initContainers:
- name: fix-permissions
image: busybox
command: ["sh", "-c", "chown -R 1000:1000 /app/uploads"]
volumeMounts:
- name: uploads
mountPath: /app/uploads
containers:
- name: pastebin-container
image: prietus/pastebin-app:1.65
ports:
- containerPort: 5000
env:
- name: DB_ENGINE
value: "postgres"
- name: POSTGRES_HOST
value: "pastebin-postgres"
- name: VALID_USER
valueFrom:
configMapKeyRef:
name: pastebin-config
key: VALID_USER
- name: VALID_PASS
valueFrom:
configMapKeyRef:
name: pastebin-config
key: VALID_PASS
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: pastebin-secret
key: POSTGRES_PASSWORD
- name: DATABASE_URL
value: "postgresql://mypasteuser:$(POSTGRES_PASSWORD)@pastebin-postgres:5432/mypastedb?connect_timeout=10"
- name: SMTP_USE_TLS
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_USE_TLS
- name: SMTP_USE_SSL
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_USE_SSL
- name: SMTP_SERVER
value: "priet.us"
- name: SMTP_PORT
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_PORT
- name: SMTP_USERNAME
valueFrom:
secretKeyRef:
name: pastebin-secret
key: SMTP_USERNAME
- name: SMTP_PASSWORD
valueFrom:
secretKeyRef:
name: pastebin-secret
key: SMTP_PASSWORD
volumeMounts:
- name: uploads
mountPath: /app/uploads
volumes:
- name: uploads
persistentVolumeClaim:
claimName: uploads-pvc
---
apiVersion: v1
kind: Service
metadata:
name: pastebin-service
namespace: default
spec:
ports:
- port: 80
targetPort: 5000
selector:
app: pastebin
type: ClusterIP

25
k8s/pastebin-ingress.yaml Normal file
View File

@ -0,0 +1,25 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: pastebin-ingress
namespace: default
annotations:
kubernetes.io/ingress.class: traefik
cert-manager.io/cluster-issuer: letsencrypt-prod-dns
spec:
rules:
- host: paste.priet.us
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: pastebin-service # Nombre del Service asociado a tu aplicación
port:
number: 80
tls:
- hosts:
- paste.priet.us
secretName: pastebin-tls

View File

@ -0,0 +1,46 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: pastebin-postgres
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: pastebin-postgres
template:
metadata:
labels:
app: pastebin-postgres
spec:
containers:
- name: postgres
image: postgres:15
ports:
- containerPort: 5432
env:
- name: POSTGRES_USER
value: "mypasteuser"
- name: POSTGRES_PASSWORD
value: "wasamasa123"
volumeMounts:
- name: postgres-data
mountPath: /var/lib/postgresql/data
subPath: pgdata
volumes:
- name: postgres-data
persistentVolumeClaim:
claimName: pastebin-postgres-pvc
---
apiVersion: v1
kind: Service
metadata:
name: pastebin-postgres
namespace: default
spec:
ports:
- port: 5432
targetPort: 5432
selector:
app: pastebin-postgres

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pastebin-postgres-pvc
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi

12
k8s/pastebin-secret.yaml Normal file
View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: Secret
metadata:
name: pastebin-secret
namespace: default
type: Opaque
data:
POSTGRES_PASSWORD: d2FzYW1hc2ExMjM=
SMTP_USERNAME: bWVAcHJpZXQudXM=
SMTP_PASSWORD: d2FzYW1hc2ExMjM=
SECRET_KEY: d2FzYW1hc2ExMjM=

13
k8s/pastebin-service.yaml Normal file
View File

@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: pastebin-service
spec:
selector:
app: pastebin
ports:
- protocol: TCP
port: 80
targetPort: 5000
type: ClusterIP # Usa ClusterIP o NodePort según tus necesidades

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: uploads-pvc
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi

12
k8s/pv.yaml Normal file
View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: uploads-pv
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
hostPath: # Cambia a un proveedor como AWS, GCP, etc.
path: "/mnt/data/uploads"

11
k8s/pvc.yaml Normal file
View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: uploads-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Gi

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: pastebin-config
namespace: default
data:
JWT_EXP_DELTA_SECONDS: "360000"
SMTP_SERVER: "212.24.103.64"
SMTP_PORT: "465"
SMTP_USE_TLS: "false"
SMTP_USE_SSL: "true"

View File

@ -0,0 +1,98 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: pastebin-app
spec:
replicas: 1
selector:
matchLabels:
app: pastebin
template:
metadata:
labels:
app: pastebin
spec:
# InitContainers para ajustar permisos de ambos volúmenes
initContainers:
- name: fix-permissions-database
image: busybox
command: ["sh", "-c", "chown -R 1000:1000 /app/database"]
volumeMounts:
- name: database
mountPath: /app/database
- name: fix-permissions-uploads
image: busybox
command: ["sh", "-c", "chown -R 1000:1000 /app/uploads"]
volumeMounts:
- name: uploads
mountPath: /app/uploads
# Contenedor principal
containers:
- name: pastebin-container
image: prietus/pastebin-app:1.4.1.1
ports:
- containerPort: 5000
securityContext:
runAsUser: 0
runAsGroup: 0
env:
# Variables de entorno para configuración SMTP
- name: SMTP_USE_TLS
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_USE_TLS
- name: SMTP_USE_SSL
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_USE_SSL
- name: SMTP_SERVER
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_SERVER
- name: SMTP_PORT
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_PORT
- name: SMTP_USERNAME
valueFrom:
secretKeyRef:
name: pastebin-secret
key: SMTP_USERNAME
- name: SMTP_PASSWORD
valueFrom:
secretKeyRef:
name: pastebin-secret
key: SMTP_PASSWORD
# Variables adicionales
- name: VALID_USER
value: "admin"
- name: VALID_PASS
value: "password"
- name: SECRET_KEY
valueFrom:
secretKeyRef:
name: pastebin-secret
key: SECRET_KEY
- name: JWT_EXP_DELTA_SECONDS
valueFrom:
configMapKeyRef:
name: pastebin-config
key: JWT_EXP_DELTA_SECONDS
volumeMounts:
- name: database
mountPath: /app/database
- name: uploads
mountPath: /app/uploads
# Declaración de volúmenes
volumes:
- name: database
persistentVolumeClaim:
claimName: database-pvc
- name: uploads
persistentVolumeClaim:
claimName: uploads-pvc

View File

@ -0,0 +1,88 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: pastebin-app
spec:
replicas: 1
selector:
matchLabels:
app: pastebin
template:
metadata:
labels:
app: pastebin
spec:
# InitContainers para ajustar permisos de ambos volúmenes
initContainers:
- name: fix-permissions-database
image: busybox
command: ["sh", "-c", "chown -R 1000:1000 /app/database"]
volumeMounts:
- name: database
mountPath: /app/database
- name: fix-permissions-uploads
image: busybox
command: ["sh", "-c", "chown -R 1000:1000 /app/uploads"]
volumeMounts:
- name: uploads
mountPath: /app/uploads
# Contenedor principal
containers:
- name: pastebin-container
image: prietus/pastebin-app:1.4
ports:
- containerPort: 5000
securityContext:
runAsUser: 1000
runAsGroup: 1000
env:
# Variables de entorno para configuración SMTP
- name: SMTP_SERVER
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_SERVER
- name: SMTP_PORT
valueFrom:
configMapKeyRef:
name: pastebin-config
key: SMTP_PORT
- name: SMTP_USERNAME
valueFrom:
secretKeyRef:
name: pastebin-secret
key: SMTP_USERNAME
- name: SMTP_PASSWORD
valueFrom:
secretKeyRef:
name: pastebin-secret
key: SMTP_PASSWORD
# Variables adicionales
- name: VALID_USER
value: "admin"
- name: VALID_PASS
value: "wasamasa123"
- name: SECRET_KEY
valueFrom:
secretKeyRef:
name: pastebin-secret
key: SECRET_KEY
- name: JWT_EXP_DELTA_SECONDS
valueFrom:
configMapKeyRef:
name: pastebin-config
key: JWT_EXP_DELTA_SECONDS
volumeMounts:
- name: database
mountPath: /app/database
- name: uploads
mountPath: /app/uploads
# Declaración de volúmenes
volumes:
- name: database
persistentVolumeClaim:
claimName: database-pvc
- name: uploads
persistentVolumeClaim:
claimName: uploads-pvc

View File

@ -0,0 +1,25 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: pastebin-ingress
namespace: default
annotations:
kubernetes.io/ingress.class: traefik
cert-manager.io/cluster-issuer: letsencrypt-prod-dns
spec:
rules:
- host: paste.priet.us
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: pastebin-service # Nombre del Service asociado a tu aplicación
port:
number: 80
tls:
- hosts:
- paste.priet.us
secretName: pastebin-tls

View File

@ -0,0 +1,10 @@
apiVersion: v1
kind: Secret
metadata:
name: pastebin-secret
namespace: default
type: Opaque
data:
SECRET_KEY: d2FzYW1sdfsdfhc2ExMjM= # Este valor debe ser codificado en base64
SMTP_USERNAME: bWVAcHJsdfsdfpZXQudXM= # Base64 de tu username
SMTP_PASSWORD: d2FzYW1hc2sdfsdfExMjM=

View File

@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: pastebin-service
spec:
selector:
app: pastebin
ports:
- protocol: TCP
port: 80
targetPort: 5000
type: ClusterIP # Usa ClusterIP o NodePort según tus necesidades

12
k8s/sqlite/pv.yaml Normal file
View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: uploads-pv
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
hostPath: # Cambia a un proveedor como AWS, GCP, etc.
path: "/mnt/data/uploads"

22
k8s/sqlite/pvc.yaml Normal file
View File

@ -0,0 +1,22 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: uploads-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: database-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi

489
pastebin_client.sh Executable file
View File

@ -0,0 +1,489 @@
#!/bin/bash
API_URL="http://localhost:5000"
TOKEN_FILE="$HOME/.pastebin_token"
load_token() {
[[ -f "$TOKEN_FILE" ]] && TOKEN=$(cat "$TOKEN_FILE") || TOKEN=""
}
save_token() {
echo "$TOKEN" > "$TOKEN_FILE"
}
authenticate() {
local username="$1" password="$2"
response=$(curl -s -X POST "$API_URL/api/token" \
-H "Content-Type: application/json" \
-d '{"username": "'$username'", "password": "'$password'"}')
if echo "$response" | grep -q 'token'; then
TOKEN=$(echo "$response" | jq -r '.token')
save_token
echo "Authentication successful. Token saved."
else
echo "Authentication failed: $(echo "$response" | jq -r '.error')"
exit 1
fi
}
list_users() {
load_token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
response=$(curl -s -H "Authorization: Bearer $TOKEN" "$API_URL/api/users")
error_msg=$(echo "$response" | jq -r '.error // empty')
if [[ -n "$error_msg" ]]; then
echo "Error: $error_msg"
return 1
fi
usernames=$(echo "$response" | jq -r '.users[]')
echo "$usernames"
}
remove_gps_metadata() {
local paste_id="$1"
load_token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
if [[ -z "$paste_id" ]]; then
echo "Usage: $0 remove_gps <paste_id>"
return 1
fi
response=$(curl -s -X POST "$API_URL/api/removegps" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "{\"paste_id\": $paste_id}")
success=$(echo "$response" | jq -r '.success // empty')
if [[ "$success" == "true" ]]; then
echo "✅ GPS metadata successfully removed from paste ID $paste_id"
else
error_msg=$(echo "$response" | jq -r '.error // empty')
echo "❌ Error: $error_msg"
fi
}
edit_paste() {
local paste_id="$1"
load_token
# Chequear token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
if [[ -z "$paste_id" ]]; then
echo "Usage: $0 edit <paste_id>"
return 1
fi
# 1. Descargar contenido JSON del paste
echo "Fetching current content of paste $paste_id..."
response=$(curl -s -H "Authorization: Bearer $TOKEN" \
"$API_URL/paste/$paste_id/json")
# Checar error
error_msg=$(echo "$response" | jq -r '.error // empty')
if [[ -n "$error_msg" ]]; then
echo "Error: $error_msg"
return 1
fi
# 2. Extraer el contenido, filename, etc.
current_content=$(echo "$response" | jq -r '.content // empty')
paste_filename=$(echo "$response" | jq -r '.filename // empty')
paste_language=$(echo "$response" | jq -r '.language // empty')
# 3. Decidir la extensión local:
# a) tratar de inferirla de paste_filename
# b) si no hay, usar language
# c) fallback a "txt"
# Extraer extensión del filename, si existe
extension="txt"
if [[ -n "$paste_filename" ]]; then
# e.g. "myscript.py" -> ".py"
ext_from_name="${paste_filename##*.}" # todo lo que viene después de la última.
if [[ "$ext_from_name" != "$paste_filename" ]]; then
extension="$ext_from_name"
fi
elif [[ -n "$paste_language" ]]; then
# Una pequeña tabla de mapeo básico
case "$paste_language" in
python) extension="py" ;;
javascript|js) extension="js" ;;
typescript|ts) extension="ts" ;;
java) extension="java" ;;
c) extension="c" ;;
cpp|c++) extension="cpp" ;;
bash|shell) extension="sh" ;;
html) extension="html" ;;
css) extension="css" ;;
json) extension="json" ;;
sql) extension="sql" ;;
*) extension="txt" ;;
esac
fi
# 4. Crear archivo temporal con esa extensión
temp_file=$(mktemp "/tmp/paste_${paste_id}_XXXXXX.${extension}")
# 5. Guardar el contenido en el archivo y abrir editor
echo "$current_content" > "$temp_file"
"${EDITOR:-nano}" "$temp_file"
# 6. Leer el contenido editado
new_content=$(cat "$temp_file")
if [[ -z "$new_content" ]]; then
echo "No content provided. Aborting."
rm -f "$temp_file"
return 1
fi
# 7. Convertir a JSON con jq -Rs '.'
new_content_json=$(echo "$new_content" | jq -Rs '.')
# 8. Enviar PUT /api/paste/<paste_id> con el nuevo contenido
update_response=$(curl -s -X PUT "$API_URL/api/paste/$paste_id" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"content":'"$new_content_json"'}')
# 9. Mostrar resultado
msg=$(echo "$update_response" | jq -r '.message // .error // empty')
if [[ -n "$msg" ]]; then
echo "$msg"
else
echo "$update_response"
fi
# 10. Limpieza
rm -f "$temp_file"
}
unshare_paste() {
local paste_id="$1" username="$2"
load_token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
if [[ -z "$paste_id" || -z "$username" ]]; then
echo "Error: Paste ID and username are required."
return 1
fi
response=$(curl -s -X POST "$API_URL/api/paste/$paste_id/unshare" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"username": "'$username'"}')
if echo "$response" | grep -q '"message"'; then
echo "$response" | jq -r '.message'
else
echo "Error: $(echo "$response" | jq -r '.error')"
fi
}
share_paste() {
local paste_id="$1"
local username="$2"
local can_edit_input="${3:-false}" # Por defecto, no se permite editar
load_token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
# Validación de argumentos
if [[ -z "$paste_id" || -z "$username" ]]; then
echo "Usage: share_paste <paste_id> <username> [can_edit (true|false)]"
return 1
fi
# Validar que can_edit sea 'true' o 'false'
if [[ "$can_edit_input" != "true" && "$can_edit_input" != "false" ]]; then
echo "Error: can_edit must be 'true' or 'false'."
return 1
fi
# Convertir la entrada can_edit a booleano JSON
if [[ "$can_edit_input" == "true" ]]; then
can_edit_json=true
else
can_edit_json=false
fi
# Construir el JSON de manera segura usando jq
json_data=$(jq -n --arg username "$username" --argjson can_edit "$can_edit_json" \
'{username: $username, can_edit: $can_edit}')
# Verificar que json_data es válido
if [[ -z "$json_data" ]]; then
echo "Error: Failed to construct JSON data."
return 1
fi
# Realizar la solicitud POST al endpoint y capturar la respuesta y el código HTTP
response=$(curl -s -w "\n%{http_code}" -X POST "$API_URL/api/paste/$paste_id/share" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "$json_data")
# Separar el cuerpo de la respuesta y el código de estado
http_body=$(echo "$response" | sed '$d')
http_code=$(echo "$response" | tail -n1)
# Manejar la respuesta según el código de estado
if [[ "$http_code" == "200" ]]; then
echo "$http_body" | jq
elif [[ "$http_code" == "400" || "$http_code" == "403" || "$http_code" == "404" || "$http_code" == "500" ]]; then
echo "$http_body" | jq -r '.error // .message'
else
echo "Unexpected HTTP code: $http_code"
echo "$http_body"
fi
}
list_shared_with_others() {
load_token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
response=$(curl -s -H "Authorization: Bearer $TOKEN" "$API_URL/api/shared_with_others")
echo "$response" | jq
}
list_shared_with_me() {
load_token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
response=$(curl -s -H "Authorization: Bearer $TOKEN" "$API_URL/api/shared_with_me")
echo "$response" | jq
}
list_favorites() {
load_token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
response=$(curl -s -H "Authorization: Bearer $TOKEN" "$API_URL/api/favorites")
echo "$response" | jq
}
download() {
local paste_id="$1"
load_token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
# Solicitar el archivo y guardar las cabeceras en un archivo temporal
response=$(curl -s -w "%{http_code}" -D headers.tmp -o "paste_${paste_id}.tmp" \
-H "Authorization: Bearer $TOKEN" "$API_URL/api/paste/$paste_id/download")
# Extraer el código HTTP del final de la respuesta
http_code=$(echo "$response" | tail -n1)
if [[ "$http_code" -eq 200 ]]; then
# Extraer el nombre del archivo del encabezado "Content-Disposition"
filename=$(grep -i "Content-Disposition" headers.tmp | grep -o 'filename="[^"]*"' | sed 's/filename=//' | tr -d '"')
if [[ -z "$filename" ]]; then
# Si no se encuentra el encabezado, usar un nombre genérico
file_extension=$(file --mime-type -b "paste_${paste_id}.tmp" | awk -F'/' '{print $2}')
filename="paste_${paste_id}.${file_extension}"
fi
mv "paste_${paste_id}.tmp" "$filename"
echo "Paste $paste_id downloaded to $filename"
elif [[ "$http_code" -eq 403 ]]; then
echo "Error: You do not have permission to download paste $paste_id."
rm -f "paste_${paste_id}.tmp"
elif [[ "$http_code" -eq 404 ]]; then
echo "Error: Paste $paste_id not found."
rm -f "paste_${paste_id}.tmp"
else
echo "Failed to download paste $paste_id (HTTP code: $http_code)"
rm -f "paste_${paste_id}.tmp"
fi
# Limpieza
rm -f headers.tmp
}
download_favorites() {
load_token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
response=$(curl -s -H "Authorization: Bearer $TOKEN" "$API_URL/api/favorites")
echo "$response" | jq -r '.[] | @base64' | while read paste; do
paste_id=$(echo "$paste" | base64 --decode | jq -r '.id')
download "$paste_id"
done
}
create_paste() {
# local lang="$1"
local expire="${1:-yes}"
local private="${2:-no}" # ✅ Nuevo parámetro opcional, por defecto "no"
echo "Enter the content for the paste (Ctrl+D to finish):"
content=$(cat)
[[ -z "$content" ]] && { echo "Error: Paste content cannot be empty."; exit 1; }
response=$(echo "$content" | curl -s -X POST "$API_URL/paste" \
-H "Authorization: Bearer $TOKEN" \
-F "c=@-" \
-F "expire=$expire" \
$( [[ "$private" == "yes" ]] && echo "-F private=true" ) ) # ✅ Se envía "private=true" solo si es necesario
echo "$response" | jq -r '.url // .error'
}
upload_file() {
local file="$1"
local expire="${2:-yes}"
local private="${3:-no}"
[[ ! -f "$file" ]] && { echo "Error: File not found."; exit 1; }
response=$(curl -s -X POST "$API_URL/paste" \
-H "Authorization: Bearer $TOKEN" \
-F "c=@$file" \
-F "expire=$expire" \
$( [[ "$private" == "yes" ]] && echo "-F private=true" ) ) # ✅ Se envía "private=true" solo si es necesario
echo "$response" | jq -r '.url // .error'
}
view_paste() {
local paste_id="$1"
response=$(curl -s "$API_URL/paste/$paste_id/json" \
-H "Authorization: Bearer $TOKEN")
echo "$response" | jq -r '.content // .error'
}
list_pastes() {
response=$(curl -s "$API_URL/pastes" -H "Authorization: Bearer $TOKEN")
echo "$response" | jq
}
delete_paste() {
local paste_id="$1"
response=$(curl -s -X DELETE "$API_URL/paste/$paste_id" \
-H "Authorization: Bearer $TOKEN")
echo "$response"
}
view_raw() {
local paste_id="$1"
response=$(curl -s "$API_URL/paste/$paste_id/raw" \
-H "Authorization: Bearer $TOKEN")
echo "$response"
}
register_user() {
local username="$1" password="$2"
response=$(curl -s -X POST "$API_URL/register" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"username": "'$username'", "password": "'$password'"}')
echo "$response"
}
details() {
response=$(curl -s -X GET "$API_URL/user/details" \
-H "Authorization: Bearer $TOKEN")
echo "$response" | jq
}
search_pastes() {
local query="$1"
response=$(curl -s -X GET "$API_URL/pastes/search?q=$query" \
-H "Authorization: Bearer $TOKEN")
echo "$response" | jq
}
add_to_favorites() {
local paste_id="$1"
load_token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
response=$(curl -s -X POST "$API_URL/api/paste/$paste_id/favorite" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json")
echo "$response"
}
remove_from_favorites() {
local paste_id="$1"
load_token
if [[ -z "$TOKEN" ]]; then
echo "Error: No token found. Please authenticate first."
return 1
fi
response=$(curl -s -X POST "$API_URL/api/paste/$paste_id/unfavorite" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json")
echo "$response"
}
load_token
case "$1" in
login) authenticate "$2" "$3" ;;
edit) edit_paste "$2" ;;
shared_with_others) list_shared_with_others ;;
shared_with_me) list_shared_with_me ;;
download) download "$2" ;;
list_favorites) list_favorites ;;
remove_gps) remove_gps_metadata "$2" ;;
favorite) add_to_favorites "$2" ;;
unfavorite) remove_from_favorites "$2" ;;
create) create_paste "$2" "$3" ;;
upload) upload_file "$2" "$3" "$4" ;;
view) view_paste "$2" ;;
share) share_paste "$2" "$3" "$4" ;;
unshare) unshare_paste "$2" "$3" ;;
list) list_pastes ;;
delete) delete_paste "$2" ;;
view_raw) view_raw "$2" ;;
register) register_user "$2" "$3" ;;
details) details ;;
search) search_pastes "$2" ;;
*) echo "Usage: $0 {login|create|upload|view|list|delete|view_raw|register|details|search|favorite|unfavorite|shared_with_others|shared_with_me|share|unshare|remove_gps}" ;;
esac

19
requirements.txt Normal file
View File

@ -0,0 +1,19 @@
Flask==2.2.3
Flask-SQLAlchemy>=3.0.0
PyJWT==2.7.0
Werkzeug==2.2.3
SQLAlchemy<2.0
gunicorn
psycopg2>=2.9.10
python-magic
pymediainfo
flask-login
markdown
elasticsearch==8.9.0
Flask-Migrate==4.0.4
rapidfuzz
flask-apscheduler
Pillow
guesslang>=2.0.0
pytesseract
pygments==2.15.1

Binary file not shown.

Binary file not shown.

Binary file not shown.

183
src/__pycache__/routes.d.er Normal file
View File

@ -0,0 +1,183 @@
##[pylyzer] failed /home/teraflops/git/app/src/routes.py 1739030723 106467
.smtplib: Never
.___v_desugar_1: Never
.MIMEText: Never
.os: Never
.mimetypes: Never
.___v_desugar_2 = pyimport "__init__"
.__init__ = pyimport "__init__"
.request: Never
.jsonify: (*args: Obj, **kwargs := Obj) -> Never
.send_from_directory: (directory: Obj, path: Obj, **kwargs := Obj) -> wrappers.Response
.abort: (code: Int or wrappers.response.Response, *args: Obj, **kwargs := Obj) -> Never
.render_template: (template_name_or_list: global::List!(_: Type, _: Nat), **context := Obj) -> Str
.redirect: (location: Str, code: Int := Int, _ := {wrappers.Response}) -> wrappers.response.Response
.url_for: (endpoint: Str, _anchor: NoneType or Str := NoneType or Str, _method: NoneType or Str := NoneType or Str, _scheme: NoneType or Str := NoneType or Str, _external: NoneType or Bool := NoneType or Bool, **values := Obj) -> Str
.flash: (message: Str, category: Str := Str) -> NoneType
.session: Never
.___v_desugar_3: Never
.db: Never
.Paste: Never
.User: Never
.shared_pastes: Never
.___v_desugar_4: Never
.generate_token: Never
.___v_desugar_5: Never
.UPLOAD_FOLDER: Never
.SMTP_SERVER: Never
.SMTP_PORT: Never
.SMTP_USERNAME: Never
.SMTP_PASSWORD: Never
.SMTP_USE_TLS: Never
.SMTP_USE_SSL: Never
.ROLE_STORAGE_LIMITS: Never
.___v_desugar_6 = pyimport "__init__"
.highlight: (code: Obj, lexer: Obj, formatter: Never, outfile: Bool := Bool) -> Never
.___v_desugar_7 = pyimport "__init__"
.guess_lexer: (_text: global::Bytes, **options := NoneType) -> Never
.get_lexer_by_name: (_alias: Never, **options := Obj) -> Never
.guess_lexer_for_filename: (_fn: Obj, _text: Obj, **options := Obj) -> Never
.___v_desugar_8 = pyimport "__init__"
.HtmlFormatter: Never
.___v_desugar_9 = pyimport "util"
.util = pyimport "util"
.ClassNotFound: {pygments.util.ClassNotFound}
.___v_desugar_10 = pyimport "__init__"
.func: Never
.magic = pyimport "__init__"
.___v_desugar_11 = pyimport "utils"
.utils = pyimport "utils"
.secure_filename: (filename: Str) -> Str
.logging: Never
.___v_desugar_12: Never
.BytesIO: Never
.___v_desugar_13 = pyimport "__init__"
.send_file: (path_or_file: Obj, mimetype: NoneType or Str := NoneType or Str, as_attachment: Bool := Bool, download_name: NoneType or Str := NoneType or Str, conditional: Bool := Bool, etag: Bool or Str := Bool or Str, last_modified: Obj := Obj, max_age: NoneType or Int := NoneType or Int) -> wrappers.Response
.Response: Never
.uuid: Never
.___v_desugar_14: Never
.MediaInfo: Never
.secrets: Never
.___v_desugar_15 = pyimport "exc"
.exc = pyimport "exc"
.SQLAlchemyError: {sqlalchemy.exc.SQLAlchemyError}
.___v_desugar_16 = pyimport "__init__"
.get_all_styles: () -> NoneType
.___v_desugar_17: Never
.datetime: Never
.___v_desugar_18: Never
.login_required: Never
.___v_desugar_19: Never
.login_user: Never
.___v_desugar_20: Never
.logout_user: Never
.___v_desugar_21 = pyimport "security"
.security = pyimport "security"
.check_password_hash: (pwhash: Str, password: Str) -> Bool
.___v_desugar_22: Never
.jwt_required: Never
.___v_desugar_23: Never
.current_user: Never
.___v_desugar_24 = pyimport "__init__"
.markdown: (text: Str, **kwargs := Obj) -> Str
.___v_desugar_25: Never
.defaultdict: Never
.jwt = pyimport "__init__"
.___v_desugar_26 = pyimport "__init__"
app = pyimport "app"
.current_app: app.Flask
.___v_desugar_27: Never
.Elasticsearch: Never
.___v_desugar_28: Never
.datetime: Never
.___v_desugar_29: Never
.Favorite: Never
.___v_desugar_30: Never
.UPLOAD_FOLDER: Never
.process = pyimport "process"
.fuzz = pyimport "fuzz"
.___v_desugar_31 = pyimport "__init__"
.or_: Never
.json: Never
.___v_desugar_32: Never
.datetime: Never
.timedelta: Never
.___v_desugar_33 = pyimport "__init__"
.get_all_lexers: (plugins: Bool := Bool) -> NoneType
.___v_desugar_34 = pyimport "util"
.ClassNotFound: {pygments.util.ClassNotFound}
.base64: Never
.Image = pyimport "Image"
.___v_desugar_35 = pyimport "ExifTags"
.ExifTags = pyimport "ExifTags"
.TAGS: Never
.GPSTAGS: Never
.es: Never
.get_pygments_language_mappings: Never
.register_error_handlers: (app: Obj) -> NoneType
.delete_expired_pastes: () -> NoneType
.calculate_storage_used: (user_id: Obj) -> Float
.get_shared_pastes: |Type_390527 <: Structural({.id = ?E}), E: Type|(user: Type_390527, paste_filters: Bool := Bool, page: Obj := Obj, per_page: Obj := Obj) -> Never
.delete_paste_from_index: |Type_474413: Type, T <: Structural({.id = ?474413 and ?474411}), Type_474411: Type|(paste: T) -> NoneType
.calculate_stats: |R <: Bool|(user_id: Obj := Obj, start_date: R := R, end_date: R := R) -> global::Dict!({{"counts_text"}: global::List!(Never, 0), {"total_media_pastes"}: Never, {"pastes"}: Never, {"counts_media"}: global::List!(Never, 0), {"counts_file"}: global::List!(Never, 0), {"counts_compressed"}: global::List!(Never, 0), {"total_file_pastes"}: Never, {"total_text_pastes"}: Never, {"total_pastes"}: Nat, {"total_compressed_pastes"}: Never, {"languages"}: global::List!(Never, _: Nat), {"total_size"}: global::Add(Never)})
.index_paste: |Type_475054 <: Ref(Obj), Type_475063: Type, Type_390545 <: Structural({.title = ?475063; .owner_id = ?475067; .filename = ?475054 and ?R; .created_at = Never; .id = ?475062 and ?475070}), Type_475062: Type, Type_475070: Type, Type_475067: Type, R: Type|(paste: Type_390545) -> NoneType
.get_current_user: () -> Never
.highlight_code: (content: global::Bytes, language: Never := Never, filename: Bool := Bool) -> Never
.MEDIA_MIME_TYPES: {Type_v_global_251113: global::Tuple([Str, Str, Str, Str]) | Type_v_global_251113 == ("image.", "video.", "audio.", "application.pdf")}
.TEXT_BASED_APPLICATION_MIME_TYPES: {Type_v_global_251115: global::Tuple([Str, Str, Str, Str, Str, Str]) | Type_v_global_251115 == ("(...)", "(...)", "application.xml", "(...)", "application.sql", "text.xml")}
.LANGUAGE_TO_EXTENSION: Never
.EXTENSION_TO_LANGUAGE: Never
.FILENAME_TO_LANGUAGE: Never
.mime: magic.Magic
.os: Never
.logging: Never
.___v_desugar_36 = pyimport "__init__"
.guess_lexer: (_text: global::Bytes, **options := NoneType) -> Never
.___v_desugar_37 = pyimport "util"
.ClassNotFound: Never
.COMPRESSED_MIME_TYPES: Never
.COMPRESSED_EXTENSIONS: Never
.os: Never
.logging: Never
.___v_desugar_38 = pyimport "__init__"
.guess_lexer: Never
.___v_desugar_39 = pyimport "util"
.ClassNotFound: Never
.COMPRESSED_MIME_TYPES: Never
.COMPRESSED_EXTENSIONS: Never
.detect_language: (content: Never, unique_filename: Bool := Bool, original_filename: Bool := Bool, detected_mime_type: Structural({.__and__ = (self: Never, Obj) -> Bool}) := {None} and Structural({.__and__ = (self: Never, Obj) -> Bool})) -> {"unknown"}
.init_routes: (app: Obj) -> NoneType

51
src/auth.py Normal file
View File

@ -0,0 +1,51 @@
import jwt
import datetime
from flask import request, jsonify
from functools import wraps
from config import SECRET_KEY, JWT_ALGORITHM, JWT_EXP_DELTA_SECONDS
from src.models import User
# Generar token JWT
def generate_token(username):
payload = {
"username": username,
"exp": datetime.datetime.utcnow() + datetime.timedelta(seconds=JWT_EXP_DELTA_SECONDS)
}
return jwt.encode(payload, SECRET_KEY, algorithm=JWT_ALGORITHM)
# Decodificar token JWT
def decode_token(token):
try:
payload = jwt.decode(token, SECRET_KEY, algorithms=[JWT_ALGORITHM])
return payload
except jwt.ExpiredSignatureError:
return None
except jwt.InvalidTokenError:
return None
# Decorador para rutas protegidas con JWT
def jwt_required(f):
@wraps(f)
def decorated_function(*args, **kwargs):
auth_header = request.headers.get('Authorization')
if not auth_header:
return jsonify({"error": "Authorization header missing"}), 401
# Validar que el formato sea correcto
parts = auth_header.split(" ")
if len(parts) != 2 or parts[0] != "Bearer":
return jsonify({"error": "Invalid Authorization header format"}), 401
token = parts[1]
try:
payload = jwt.decode(token, SECRET_KEY, algorithms=[JWT_ALGORITHM])
user = User.query.filter_by(username=payload['username']).first()
if not user:
return jsonify({"error": "User not found"}), 401
request.user = user
except (jwt.ExpiredSignatureError, jwt.InvalidTokenError):
return jsonify({"error": "Invalid or expired token"}), 401
return f(*args, **kwargs)
return decorated_function

26
src/constants.py Normal file
View File

@ -0,0 +1,26 @@
LANGUAGE_TO_EXTENSION = {
"python": "py",
"javascript": "js",
"java": "java",
"csharp": "cs",
"cpp": "cpp",
"ruby": "rb",
"go": "go",
"html": "html",
"css": "css",
"php": "php",
"swift": "swift",
"kotlin": "kt",
"rust": "rs",
"typescript": "ts",
"bash": "sh",
"plaintext": "txt",
"json": "json",
"yaml": "yml",
"toml": "toml",
"markdown": "md",
"sql": "sql",
"xml": "xml",
"lua": "lua"
}

208
src/models.py Normal file
View File

@ -0,0 +1,208 @@
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
from werkzeug.security import generate_password_hash, check_password_hash
import os
from config import UPLOAD_FOLDER
from flask_login import UserMixin
db = SQLAlchemy()
class Favorite(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
paste_id = db.Column(db.Integer, db.ForeignKey('paste.id'), nullable=False)
created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
user = db.relationship('User', backref=db.backref('favorites', lazy=True))
paste = db.relationship('Paste', backref=db.backref('favorited_by', lazy=True))
paste_favorites = db.Table(
'paste_favorites',
db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True),
db.Column('paste_id', db.Integer, db.ForeignKey('paste.id'), primary_key=True)
)
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
password_hash = db.Column(db.String(128), nullable=False)
role = db.Column(db.String(10), nullable=False, default='user')
storage_used = db.Column(db.BigInteger, nullable=False, default=0) # En bytes
storage_limit = db.Column(db.BigInteger, nullable=False, default=1 * 1024**3)
theme_preference = db.Column(db.String(10), default="light") # Guardar "light" o "dark"
def set_password(self, password):
self.password_hash = generate_password_hash(password)
def check_password(self, password):
return check_password_hash(self.password_hash, password)
def has_unlimited_storage(self):
return self.storage_limit == -1
def get_storage_limit(self):
"""Devuelve el límite de almacenamiento del usuario."""
return self.storage_limit
shared_pastes = db.Table(
'shared_pastes',
db.Column('paste_id', db.Integer, db.ForeignKey('paste.id'), primary_key=True),
db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True),
db.Column('can_edit', db.Boolean, default=False) # Nuevo campo para indicar permiso de edición
)
# Tabla intermedia para usuarios con permisos de edición
paste_editors = db.Table(
'paste_editors',
db.Column('paste_id', db.Integer, db.ForeignKey('paste.id'), primary_key=True),
db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True)
)
class Paste(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(255), nullable=True)
editable = db.Column(db.Boolean, default=True)
content_type = db.Column(db.String(50), nullable=False)
filename = db.Column(db.String(255), nullable=True)
owner_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
expires_at = db.Column(db.DateTime, nullable=True) # Nuevo campo de expiración
language = db.Column(db.String(50), nullable=True)
last_edited_at = db.Column(db.DateTime, nullable=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
size = db.Column(db.Integer, nullable=True)
private = db.Column(db.Boolean, default=False)
# Relaciones
editors = db.relationship('User', secondary=paste_editors, backref=db.backref('editable_pastes', lazy='dynamic'))
owner = db.relationship('User', backref=db.backref('owned_pastes', lazy=True), foreign_keys=[owner_id])
favorites = db.relationship('User', secondary='paste_favorites', backref=db.backref('favorite_pastes', lazy='dynamic'))
shared_with = db.relationship('User', secondary=shared_pastes, backref=db.backref('shared_pastes', lazy='dynamic'))
owner = db.relationship(
'User',
backref=db.backref('owned_pastes', lazy=True),
foreign_keys=[owner_id]
)
favorites = db.relationship(
'User',
secondary='paste_favorites',
backref=db.backref('favorite_pastes', lazy='dynamic')
)
def is_expired(self):
""" Verifica si el paste ha expirado. """
return self.expires_at and datetime.utcnow() > self.expires_at
def to_dict(self):
return {
"id": self.id,
"content_type": self.content_type,
"filename": self.filename,
"owner_id": self.owner_id,
"created_at": self.created_at.isoformat(),
"language": self.language,
"user_id": self.user_id,
"size": self.file_size
}
def get_size(self):
file_path = os.path.join(UPLOAD_FOLDER, self.filename)
try:
return os.path.getsize(file_path) # Devuelve el tamaño del archivo
except FileNotFoundError:
return 0
def get_type(self):
# Determinar el tipo de archivo basado en content_type
if self.content_type.startswith("video"):
return "Video"
elif self.content_type.startswith("audio"):
return "Audio"
elif self.content_type.startswith("image"):
return "Image"
elif self.content_type in [
"application/zip", "application/x-tar", "application/gzip",
"application/x-bzip2", "application/x-7z-compressed", "application/x-rar-compressed"
]:
return "Compressed"
elif self.content_type == "application/pdf":
return "PDF"
elif self.content_type.startswith("text"):
if self.language:
return f"Text ({self.language})"
return "Text"
else:
return "Other"
def get_extension(self):
from src.constants import LANGUAGE_TO_EXTENSION
# 1. Si filename tiene extensión, úsala
if self.filename and '.' in self.filename:
ext = self.filename.rsplit('.', 1)[-1].lower()
if len(ext) <= 5: # filtra hashes falsos
return ext
# 2. Si hay lenguaje conocido
if self.language:
ext = LANGUAGE_TO_EXTENSION.get(self.language.lower())
if ext:
return ext
# 3. Si se puede deducir por content_type
if self.content_type:
if self.content_type == "application/pdf":
return "pdf"
elif self.content_type in ["application/zip", "application/x-zip-compressed"]:
return "zip"
elif self.content_type.startswith("image/"):
return self.content_type.split("/")[-1].split('+')[0]
elif self.content_type.startswith("audio/"):
return self.content_type.split("/")[-1].split('+')[0]
elif self.content_type.startswith("video/"):
return self.content_type.split("/")[-1].split('+')[0]
elif self.content_type.startswith("text/"):
return "txt"
return "bin"
def has_edit_permission(self, user):
"""
Verifica si un usuario tiene permiso de edición en este paste.
"""
# Si el usuario no está autenticado, no puede tener permisos
if not user.is_authenticated:
print(f"[DEBUG] Unauthenticated user tried to edit paste {self.id}. Permission denied.")
return False
# El dueño del paste siempre tiene permisos
if user.id == self.owner_id:
print(f"[DEBUG] User {user.id} is the owner of paste {self.id}. Permission granted.")
return True
# Verificar si el usuario tiene permisos en `shared_pastes`
shared_entry = db.session.query(shared_pastes).filter_by(
paste_id=self.id,
user_id=user.id,
can_edit=True
).first()
if shared_entry:
print(f"[DEBUG] User {user.id} has edit permissions for paste {self.id}.")
else:
print(f"[DEBUG] User {user.id} does NOT have edit permissions for paste {self.id}.")
return shared_entry is not None
def can_view(self, user):
"""
Determina si un usuario puede ver el paste.
"""
if not self.private:
return True # Si no es privado, cualquiera puede verlo
if user and user.is_authenticated:
if user.id == self.owner_id or user in self.shared_with:
return True # Si el usuario es el dueño o está en la lista de compartidos, puede verlo
return False # No es dueño ni compartido, acceso denegado

156
src/models.py_backup Normal file
View File

@ -0,0 +1,156 @@
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
from werkzeug.security import generate_password_hash, check_password_hash
import os
from config import UPLOAD_FOLDER
from flask_login import UserMixin
db = SQLAlchemy()
class Favorite(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
paste_id = db.Column(db.Integer, db.ForeignKey('paste.id'), nullable=False)
created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
user = db.relationship('User', backref=db.backref('favorites', lazy=True))
paste = db.relationship('Paste', backref=db.backref('favorited_by', lazy=True))
paste_favorites = db.Table(
'paste_favorites',
db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True),
db.Column('paste_id', db.Integer, db.ForeignKey('paste.id'), primary_key=True)
)
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
password_hash = db.Column(db.String(128), nullable=False)
role = db.Column(db.String(10), nullable=False, default='user')
storage_used = db.Column(db.BigInteger, nullable=False, default=0) # En bytes
storage_limit = db.Column(db.BigInteger, nullable=False, default=1 * 1024**3)
theme_preference = db.Column(db.String(10), default="light") # Guardar "light" o "dark"
def set_password(self, password):
self.password_hash = generate_password_hash(password)
def check_password(self, password):
return check_password_hash(self.password_hash, password)
def has_unlimited_storage(self):
return self.storage_limit == -1
def get_storage_limit(self):
"""Devuelve el límite de almacenamiento del usuario."""
return self.storage_limit
shared_pastes = db.Table(
'shared_pastes',
db.Column('paste_id', db.Integer, db.ForeignKey('paste.id'), primary_key=True),
db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True),
db.Column('can_edit', db.Boolean, default=False) # Nuevo campo para indicar permiso de edición
)
# Tabla intermedia para usuarios con permisos de edición
paste_editors = db.Table(
'paste_editors',
db.Column('paste_id', db.Integer, db.ForeignKey('paste.id'), primary_key=True),
db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True)
)
class Paste(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(255), nullable=True)
editable = db.Column(db.Boolean, default=True)
content_type = db.Column(db.String(50), nullable=False)
filename = db.Column(db.String(255), nullable=True)
owner_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
created_at = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
expires_at = db.Column(db.DateTime, nullable=True) # Nuevo campo de expiración
language = db.Column(db.String(50), nullable=True)
last_edited_at = db.Column(db.DateTime, nullable=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
size = db.Column(db.Integer, nullable=True)
# Relaciones
editors = db.relationship('User', secondary=paste_editors, backref=db.backref('editable_pastes', lazy='dynamic'))
owner = db.relationship('User', backref=db.backref('owned_pastes', lazy=True), foreign_keys=[owner_id])
favorites = db.relationship('User', secondary='paste_favorites', backref=db.backref('favorite_pastes', lazy='dynamic'))
shared_with = db.relationship('User', secondary=shared_pastes, backref=db.backref('shared_pastes', lazy='dynamic'))
owner = db.relationship(
'User',
backref=db.backref('owned_pastes', lazy=True),
foreign_keys=[owner_id]
)
favorites = db.relationship(
'User',
secondary='paste_favorites',
backref=db.backref('favorite_pastes', lazy='dynamic')
)
def is_expired(self):
""" Verifica si el paste ha expirado. """
return self.expires_at and datetime.utcnow() > self.expires_at
def to_dict(self):
return {
"id": self.id,
"content_type": self.content_type,
"filename": self.filename,
"owner_id": self.owner_id,
"created_at": self.created_at.isoformat(),
"language": self.language,
"user_id": self.user_id,
"size": self.file_size
}
def get_size(self):
file_path = os.path.join(UPLOAD_FOLDER, self.filename)
try:
return os.path.getsize(file_path) # Devuelve el tamaño del archivo
except FileNotFoundError:
return 0
def get_type(self):
# Determinar el tipo de archivo basado en content_type
if self.content_type.startswith("video"):
return "Video"
elif self.content_type.startswith("audio"):
return "Audio"
elif self.content_type.startswith("image"):
return "Image"
elif self.content_type in ["application/zip", "application/x-tar", "application/gzip", "application/x-bzip2", "application/x-7z-compressed", "application/x-rar-compressed"]:
return "Compressed"
elif self.content_type.startswith("text"):
if self.language:
return f"Text ({self.language})"
return "Text"
else:
return "Other"
def has_edit_permission(self, user):
"""
Verifica si un usuario tiene permiso de edición en este paste.
"""
# Si el usuario no está autenticado, no puede tener permisos
if not user.is_authenticated:
print(f"[DEBUG] Unauthenticated user tried to edit paste {self.id}. Permission denied.")
return False
# El dueño del paste siempre tiene permisos
if user.id == self.owner_id:
print(f"[DEBUG] User {user.id} is the owner of paste {self.id}. Permission granted.")
return True
# Verificar si el usuario tiene permisos en `shared_pastes`
shared_entry = db.session.query(shared_pastes).filter_by(
paste_id=self.id,
user_id=user.id,
can_edit=True
).first()
if shared_entry:
print(f"[DEBUG] User {user.id} has edit permissions for paste {self.id}.")
else:
print(f"[DEBUG] User {user.id} does NOT have edit permissions for paste {self.id}.")
return shared_entry is not None

3050
src/routes.py Normal file

File diff suppressed because it is too large Load Diff

2586
src/routes.py_backup Normal file

File diff suppressed because it is too large Load Diff

2501
src/routes.py_test Normal file

File diff suppressed because it is too large Load Diff

65
static/css/abap.css Normal file
View File

@ -0,0 +1,65 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #888888; font-style: italic } /* Comment */
.highlight .err { color: #FF0000 } /* Error */
.highlight .k { color: #0000ff } /* Keyword */
.highlight .n { color: #000000 } /* Name */
.highlight .ch { color: #888888; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #888888; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #888888; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #888888; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #888888; font-style: italic } /* Comment.Single */
.highlight .cs { color: #888888; font-style: italic } /* Comment.Special */
.highlight .kc { color: #0000ff } /* Keyword.Constant */
.highlight .kd { color: #0000ff } /* Keyword.Declaration */
.highlight .kn { color: #0000ff } /* Keyword.Namespace */
.highlight .kp { color: #0000ff } /* Keyword.Pseudo */
.highlight .kr { color: #0000ff } /* Keyword.Reserved */
.highlight .kt { color: #0000ff } /* Keyword.Type */
.highlight .m { color: #33aaff } /* Literal.Number */
.highlight .s { color: #55aa22 } /* Literal.String */
.highlight .na { color: #000000 } /* Name.Attribute */
.highlight .nb { color: #000000 } /* Name.Builtin */
.highlight .nc { color: #000000 } /* Name.Class */
.highlight .no { color: #000000 } /* Name.Constant */
.highlight .nd { color: #000000 } /* Name.Decorator */
.highlight .ni { color: #000000 } /* Name.Entity */
.highlight .ne { color: #000000 } /* Name.Exception */
.highlight .nf { color: #000000 } /* Name.Function */
.highlight .nl { color: #000000 } /* Name.Label */
.highlight .nn { color: #000000 } /* Name.Namespace */
.highlight .nx { color: #000000 } /* Name.Other */
.highlight .py { color: #000000 } /* Name.Property */
.highlight .nt { color: #000000 } /* Name.Tag */
.highlight .nv { color: #000000 } /* Name.Variable */
.highlight .ow { color: #0000ff } /* Operator.Word */
.highlight .mb { color: #33aaff } /* Literal.Number.Bin */
.highlight .mf { color: #33aaff } /* Literal.Number.Float */
.highlight .mh { color: #33aaff } /* Literal.Number.Hex */
.highlight .mi { color: #33aaff } /* Literal.Number.Integer */
.highlight .mo { color: #33aaff } /* Literal.Number.Oct */
.highlight .sa { color: #55aa22 } /* Literal.String.Affix */
.highlight .sb { color: #55aa22 } /* Literal.String.Backtick */
.highlight .sc { color: #55aa22 } /* Literal.String.Char */
.highlight .dl { color: #55aa22 } /* Literal.String.Delimiter */
.highlight .sd { color: #55aa22 } /* Literal.String.Doc */
.highlight .s2 { color: #55aa22 } /* Literal.String.Double */
.highlight .se { color: #55aa22 } /* Literal.String.Escape */
.highlight .sh { color: #55aa22 } /* Literal.String.Heredoc */
.highlight .si { color: #55aa22 } /* Literal.String.Interpol */
.highlight .sx { color: #55aa22 } /* Literal.String.Other */
.highlight .sr { color: #55aa22 } /* Literal.String.Regex */
.highlight .s1 { color: #55aa22 } /* Literal.String.Single */
.highlight .ss { color: #55aa22 } /* Literal.String.Symbol */
.highlight .bp { color: #000000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #000000 } /* Name.Function.Magic */
.highlight .vc { color: #000000 } /* Name.Variable.Class */
.highlight .vg { color: #000000 } /* Name.Variable.Global */
.highlight .vi { color: #000000 } /* Name.Variable.Instance */
.highlight .vm { color: #000000 } /* Name.Variable.Magic */
.highlight .il { color: #33aaff } /* Literal.Number.Integer.Long */

49
static/css/algol.css Normal file
View File

@ -0,0 +1,49 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #888888; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { font-weight: bold; text-decoration: underline } /* Keyword */
.highlight .ch { color: #888888; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #888888; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #888888; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #888888; font-style: italic } /* Comment.Single */
.highlight .cs { color: #888888; font-weight: bold } /* Comment.Special */
.highlight .kc { font-weight: bold; text-decoration: underline } /* Keyword.Constant */
.highlight .kd { font-weight: bold; font-style: italic; text-decoration: underline } /* Keyword.Declaration */
.highlight .kn { font-weight: bold; text-decoration: underline } /* Keyword.Namespace */
.highlight .kp { font-weight: bold; text-decoration: underline } /* Keyword.Pseudo */
.highlight .kr { font-weight: bold; text-decoration: underline } /* Keyword.Reserved */
.highlight .kt { font-weight: bold; text-decoration: underline } /* Keyword.Type */
.highlight .s { color: #666666; font-style: italic } /* Literal.String */
.highlight .nb { font-weight: bold; font-style: italic } /* Name.Builtin */
.highlight .nc { color: #666666; font-weight: bold; font-style: italic } /* Name.Class */
.highlight .no { color: #666666; font-weight: bold; font-style: italic } /* Name.Constant */
.highlight .nf { color: #666666; font-weight: bold; font-style: italic } /* Name.Function */
.highlight .nn { color: #666666; font-weight: bold; font-style: italic } /* Name.Namespace */
.highlight .nv { color: #666666; font-weight: bold; font-style: italic } /* Name.Variable */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .sa { color: #666666; font-style: italic } /* Literal.String.Affix */
.highlight .sb { color: #666666; font-style: italic } /* Literal.String.Backtick */
.highlight .sc { color: #666666; font-style: italic } /* Literal.String.Char */
.highlight .dl { color: #666666; font-style: italic } /* Literal.String.Delimiter */
.highlight .sd { color: #666666; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #666666; font-style: italic } /* Literal.String.Double */
.highlight .se { color: #666666; font-style: italic } /* Literal.String.Escape */
.highlight .sh { color: #666666; font-style: italic } /* Literal.String.Heredoc */
.highlight .si { color: #666666; font-style: italic } /* Literal.String.Interpol */
.highlight .sx { color: #666666; font-style: italic } /* Literal.String.Other */
.highlight .sr { color: #666666; font-style: italic } /* Literal.String.Regex */
.highlight .s1 { color: #666666; font-style: italic } /* Literal.String.Single */
.highlight .ss { color: #666666; font-style: italic } /* Literal.String.Symbol */
.highlight .bp { font-weight: bold; font-style: italic } /* Name.Builtin.Pseudo */
.highlight .fm { color: #666666; font-weight: bold; font-style: italic } /* Name.Function.Magic */
.highlight .vc { color: #666666; font-weight: bold; font-style: italic } /* Name.Variable.Class */
.highlight .vg { color: #666666; font-weight: bold; font-style: italic } /* Name.Variable.Global */
.highlight .vi { color: #666666; font-weight: bold; font-style: italic } /* Name.Variable.Instance */
.highlight .vm { color: #666666; font-weight: bold; font-style: italic } /* Name.Variable.Magic */

49
static/css/algol_nu.css Normal file
View File

@ -0,0 +1,49 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #888888; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { font-weight: bold } /* Keyword */
.highlight .ch { color: #888888; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #888888; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #888888; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #888888; font-style: italic } /* Comment.Single */
.highlight .cs { color: #888888; font-weight: bold } /* Comment.Special */
.highlight .kc { font-weight: bold } /* Keyword.Constant */
.highlight .kd { font-weight: bold; font-style: italic } /* Keyword.Declaration */
.highlight .kn { font-weight: bold } /* Keyword.Namespace */
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
.highlight .kt { font-weight: bold } /* Keyword.Type */
.highlight .s { color: #666666; font-style: italic } /* Literal.String */
.highlight .nb { font-weight: bold; font-style: italic } /* Name.Builtin */
.highlight .nc { color: #666666; font-weight: bold; font-style: italic } /* Name.Class */
.highlight .no { color: #666666; font-weight: bold; font-style: italic } /* Name.Constant */
.highlight .nf { color: #666666; font-weight: bold; font-style: italic } /* Name.Function */
.highlight .nn { color: #666666; font-weight: bold; font-style: italic } /* Name.Namespace */
.highlight .nv { color: #666666; font-weight: bold; font-style: italic } /* Name.Variable */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .sa { color: #666666; font-style: italic } /* Literal.String.Affix */
.highlight .sb { color: #666666; font-style: italic } /* Literal.String.Backtick */
.highlight .sc { color: #666666; font-style: italic } /* Literal.String.Char */
.highlight .dl { color: #666666; font-style: italic } /* Literal.String.Delimiter */
.highlight .sd { color: #666666; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #666666; font-style: italic } /* Literal.String.Double */
.highlight .se { color: #666666; font-style: italic } /* Literal.String.Escape */
.highlight .sh { color: #666666; font-style: italic } /* Literal.String.Heredoc */
.highlight .si { color: #666666; font-style: italic } /* Literal.String.Interpol */
.highlight .sx { color: #666666; font-style: italic } /* Literal.String.Other */
.highlight .sr { color: #666666; font-style: italic } /* Literal.String.Regex */
.highlight .s1 { color: #666666; font-style: italic } /* Literal.String.Single */
.highlight .ss { color: #666666; font-style: italic } /* Literal.String.Symbol */
.highlight .bp { font-weight: bold; font-style: italic } /* Name.Builtin.Pseudo */
.highlight .fm { color: #666666; font-weight: bold; font-style: italic } /* Name.Function.Magic */
.highlight .vc { color: #666666; font-weight: bold; font-style: italic } /* Name.Variable.Class */
.highlight .vg { color: #666666; font-weight: bold; font-style: italic } /* Name.Variable.Global */
.highlight .vi { color: #666666; font-weight: bold; font-style: italic } /* Name.Variable.Instance */
.highlight .vm { color: #666666; font-weight: bold; font-style: italic } /* Name.Variable.Magic */

66
static/css/arduino.css Normal file
View File

@ -0,0 +1,66 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #95a5a6 } /* Comment */
.highlight .err { color: #a61717 } /* Error */
.highlight .k { color: #728E00 } /* Keyword */
.highlight .n { color: #434f54 } /* Name */
.highlight .o { color: #728E00 } /* Operator */
.highlight .ch { color: #95a5a6 } /* Comment.Hashbang */
.highlight .cm { color: #95a5a6 } /* Comment.Multiline */
.highlight .cp { color: #728E00 } /* Comment.Preproc */
.highlight .cpf { color: #95a5a6 } /* Comment.PreprocFile */
.highlight .c1 { color: #95a5a6 } /* Comment.Single */
.highlight .cs { color: #95a5a6 } /* Comment.Special */
.highlight .kc { color: #00979D } /* Keyword.Constant */
.highlight .kd { color: #728E00 } /* Keyword.Declaration */
.highlight .kn { color: #728E00 } /* Keyword.Namespace */
.highlight .kp { color: #00979D } /* Keyword.Pseudo */
.highlight .kr { color: #00979D } /* Keyword.Reserved */
.highlight .kt { color: #00979D } /* Keyword.Type */
.highlight .m { color: #8A7B52 } /* Literal.Number */
.highlight .s { color: #7F8C8D } /* Literal.String */
.highlight .na { color: #434f54 } /* Name.Attribute */
.highlight .nb { color: #728E00 } /* Name.Builtin */
.highlight .nc { color: #434f54 } /* Name.Class */
.highlight .no { color: #434f54 } /* Name.Constant */
.highlight .nd { color: #434f54 } /* Name.Decorator */
.highlight .ni { color: #434f54 } /* Name.Entity */
.highlight .ne { color: #434f54 } /* Name.Exception */
.highlight .nf { color: #D35400 } /* Name.Function */
.highlight .nl { color: #434f54 } /* Name.Label */
.highlight .nn { color: #434f54 } /* Name.Namespace */
.highlight .nx { color: #728E00 } /* Name.Other */
.highlight .py { color: #434f54 } /* Name.Property */
.highlight .nt { color: #434f54 } /* Name.Tag */
.highlight .nv { color: #434f54 } /* Name.Variable */
.highlight .ow { color: #728E00 } /* Operator.Word */
.highlight .mb { color: #8A7B52 } /* Literal.Number.Bin */
.highlight .mf { color: #8A7B52 } /* Literal.Number.Float */
.highlight .mh { color: #8A7B52 } /* Literal.Number.Hex */
.highlight .mi { color: #8A7B52 } /* Literal.Number.Integer */
.highlight .mo { color: #8A7B52 } /* Literal.Number.Oct */
.highlight .sa { color: #7F8C8D } /* Literal.String.Affix */
.highlight .sb { color: #7F8C8D } /* Literal.String.Backtick */
.highlight .sc { color: #7F8C8D } /* Literal.String.Char */
.highlight .dl { color: #7F8C8D } /* Literal.String.Delimiter */
.highlight .sd { color: #7F8C8D } /* Literal.String.Doc */
.highlight .s2 { color: #7F8C8D } /* Literal.String.Double */
.highlight .se { color: #7F8C8D } /* Literal.String.Escape */
.highlight .sh { color: #7F8C8D } /* Literal.String.Heredoc */
.highlight .si { color: #7F8C8D } /* Literal.String.Interpol */
.highlight .sx { color: #7F8C8D } /* Literal.String.Other */
.highlight .sr { color: #7F8C8D } /* Literal.String.Regex */
.highlight .s1 { color: #7F8C8D } /* Literal.String.Single */
.highlight .ss { color: #7F8C8D } /* Literal.String.Symbol */
.highlight .bp { color: #728E00 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #D35400 } /* Name.Function.Magic */
.highlight .vc { color: #434f54 } /* Name.Variable.Class */
.highlight .vg { color: #434f54 } /* Name.Variable.Global */
.highlight .vi { color: #434f54 } /* Name.Variable.Instance */
.highlight .vm { color: #434f54 } /* Name.Variable.Magic */
.highlight .il { color: #8A7B52 } /* Literal.Number.Integer.Long */

72
static/css/autumn.css Normal file
View File

@ -0,0 +1,72 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #aaaaaa; font-style: italic } /* Comment */
.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
.highlight .k { color: #0000aa } /* Keyword */
.highlight .ch { color: #aaaaaa; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #aaaaaa; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #4c8317 } /* Comment.Preproc */
.highlight .cpf { color: #aaaaaa; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #aaaaaa; font-style: italic } /* Comment.Single */
.highlight .cs { color: #0000aa; font-style: italic } /* Comment.Special */
.highlight .gd { color: #aa0000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00aa00 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #0000aa } /* Keyword.Constant */
.highlight .kd { color: #0000aa } /* Keyword.Declaration */
.highlight .kn { color: #0000aa } /* Keyword.Namespace */
.highlight .kp { color: #0000aa } /* Keyword.Pseudo */
.highlight .kr { color: #0000aa } /* Keyword.Reserved */
.highlight .kt { color: #00aaaa } /* Keyword.Type */
.highlight .m { color: #009999 } /* Literal.Number */
.highlight .s { color: #aa5500 } /* Literal.String */
.highlight .na { color: #1e90ff } /* Name.Attribute */
.highlight .nb { color: #00aaaa } /* Name.Builtin */
.highlight .nc { color: #00aa00; text-decoration: underline } /* Name.Class */
.highlight .no { color: #aa0000 } /* Name.Constant */
.highlight .nd { color: #888888 } /* Name.Decorator */
.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
.highlight .nf { color: #00aa00 } /* Name.Function */
.highlight .nn { color: #00aaaa; text-decoration: underline } /* Name.Namespace */
.highlight .nt { color: #1e90ff; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #aa0000 } /* Name.Variable */
.highlight .ow { color: #0000aa } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #009999 } /* Literal.Number.Bin */
.highlight .mf { color: #009999 } /* Literal.Number.Float */
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
.highlight .sa { color: #aa5500 } /* Literal.String.Affix */
.highlight .sb { color: #aa5500 } /* Literal.String.Backtick */
.highlight .sc { color: #aa5500 } /* Literal.String.Char */
.highlight .dl { color: #aa5500 } /* Literal.String.Delimiter */
.highlight .sd { color: #aa5500 } /* Literal.String.Doc */
.highlight .s2 { color: #aa5500 } /* Literal.String.Double */
.highlight .se { color: #aa5500 } /* Literal.String.Escape */
.highlight .sh { color: #aa5500 } /* Literal.String.Heredoc */
.highlight .si { color: #aa5500 } /* Literal.String.Interpol */
.highlight .sx { color: #aa5500 } /* Literal.String.Other */
.highlight .sr { color: #009999 } /* Literal.String.Regex */
.highlight .s1 { color: #aa5500 } /* Literal.String.Single */
.highlight .ss { color: #0000aa } /* Literal.String.Symbol */
.highlight .bp { color: #00aaaa } /* Name.Builtin.Pseudo */
.highlight .fm { color: #00aa00 } /* Name.Function.Magic */
.highlight .vc { color: #aa0000 } /* Name.Variable.Class */
.highlight .vg { color: #aa0000 } /* Name.Variable.Global */
.highlight .vi { color: #aa0000 } /* Name.Variable.Instance */
.highlight .vm { color: #aa0000 } /* Name.Variable.Magic */
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */

12
static/css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

12
static/css/bootstraplight.min.css vendored Normal file

File diff suppressed because one or more lines are too long

58
static/css/borland.css Normal file
View File

@ -0,0 +1,58 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #008800; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #000080; font-weight: bold } /* Keyword */
.highlight .ch { color: #008800; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #008800; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #008080 } /* Comment.Preproc */
.highlight .cpf { color: #008800; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #008800; font-style: italic } /* Comment.Single */
.highlight .cs { color: #008800; font-weight: bold } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #999999 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #000080; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #000080; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #000080; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #000080; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #000080; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #000080; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000FF } /* Literal.Number */
.highlight .s { color: #0000FF } /* Literal.String */
.highlight .na { color: #FF0000 } /* Name.Attribute */
.highlight .nt { color: #000080; font-weight: bold } /* Name.Tag */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000FF } /* Literal.Number.Bin */
.highlight .mf { color: #0000FF } /* Literal.Number.Float */
.highlight .mh { color: #0000FF } /* Literal.Number.Hex */
.highlight .mi { color: #0000FF } /* Literal.Number.Integer */
.highlight .mo { color: #0000FF } /* Literal.Number.Oct */
.highlight .sa { color: #0000FF } /* Literal.String.Affix */
.highlight .sb { color: #0000FF } /* Literal.String.Backtick */
.highlight .sc { color: #800080 } /* Literal.String.Char */
.highlight .dl { color: #0000FF } /* Literal.String.Delimiter */
.highlight .sd { color: #0000FF } /* Literal.String.Doc */
.highlight .s2 { color: #0000FF } /* Literal.String.Double */
.highlight .se { color: #0000FF } /* Literal.String.Escape */
.highlight .sh { color: #0000FF } /* Literal.String.Heredoc */
.highlight .si { color: #0000FF } /* Literal.String.Interpol */
.highlight .sx { color: #0000FF } /* Literal.String.Other */
.highlight .sr { color: #0000FF } /* Literal.String.Regex */
.highlight .s1 { color: #0000FF } /* Literal.String.Single */
.highlight .ss { color: #0000FF } /* Literal.String.Symbol */
.highlight .il { color: #0000FF } /* Literal.Number.Integer.Long */

45
static/css/bw.css Normal file
View File

@ -0,0 +1,45 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { font-weight: bold } /* Keyword */
.highlight .ch { font-style: italic } /* Comment.Hashbang */
.highlight .cm { font-style: italic } /* Comment.Multiline */
.highlight .cpf { font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { font-style: italic } /* Comment.Single */
.highlight .cs { font-style: italic } /* Comment.Special */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gh { font-weight: bold } /* Generic.Heading */
.highlight .gp { font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { font-weight: bold } /* Generic.Subheading */
.highlight .kc { font-weight: bold } /* Keyword.Constant */
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
.highlight .kn { font-weight: bold } /* Keyword.Namespace */
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
.highlight .s { font-style: italic } /* Literal.String */
.highlight .nc { font-weight: bold } /* Name.Class */
.highlight .ni { font-weight: bold } /* Name.Entity */
.highlight .ne { font-weight: bold } /* Name.Exception */
.highlight .nn { font-weight: bold } /* Name.Namespace */
.highlight .nt { font-weight: bold } /* Name.Tag */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .sa { font-style: italic } /* Literal.String.Affix */
.highlight .sb { font-style: italic } /* Literal.String.Backtick */
.highlight .sc { font-style: italic } /* Literal.String.Char */
.highlight .dl { font-style: italic } /* Literal.String.Delimiter */
.highlight .sd { font-style: italic } /* Literal.String.Doc */
.highlight .s2 { font-style: italic } /* Literal.String.Double */
.highlight .se { font-weight: bold; font-style: italic } /* Literal.String.Escape */
.highlight .sh { font-style: italic } /* Literal.String.Heredoc */
.highlight .si { font-weight: bold; font-style: italic } /* Literal.String.Interpol */
.highlight .sx { font-style: italic } /* Literal.String.Other */
.highlight .sr { font-style: italic } /* Literal.String.Regex */
.highlight .s1 { font-style: italic } /* Literal.String.Single */
.highlight .ss { font-style: italic } /* Literal.String.Symbol */

85
static/css/coffee.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: #4e4e4e; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #4e4e4e; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #8f9494; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #8f9494; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ddd0c0 }
.highlight { background: #262220; color: #ddd0c0 }
.highlight .c { color: #70757A } /* Comment */
.highlight .err { color: #af5f5f } /* Error */
.highlight .esc { color: #ddd0c0 } /* Escape */
.highlight .g { color: #ddd0c0 } /* Generic */
.highlight .k { color: #919191 } /* Keyword */
.highlight .l { color: #af875f } /* Literal */
.highlight .n { color: #ddd0c0 } /* Name */
.highlight .o { color: #878787 } /* Operator */
.highlight .x { color: #ddd0c0 } /* Other */
.highlight .p { color: #ddd0c0 } /* Punctuation */
.highlight .ch { color: #8f9f9f } /* Comment.Hashbang */
.highlight .cm { color: #70757A } /* Comment.Multiline */
.highlight .cp { color: #fdd0c0 } /* Comment.Preproc */
.highlight .cpf { color: #c9b98f } /* Comment.PreprocFile */
.highlight .c1 { color: #70757A } /* Comment.Single */
.highlight .cs { color: #af5f5f } /* Comment.Special */
.highlight .gd { color: #bb6868 } /* Generic.Deleted */
.highlight .ge { color: #ddd0c0; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #ddd0c0 } /* Generic.EmphStrong */
.highlight .gr { color: #af5f5f } /* Generic.Error */
.highlight .gh { color: #ddd0c0 } /* Generic.Heading */
.highlight .gi { color: #849155 } /* Generic.Inserted */
.highlight .go { color: #ddd0c0 } /* Generic.Output */
.highlight .gp { color: #ddd0c0 } /* Generic.Prompt */
.highlight .gs { color: #ddd0c0; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #ddd0c0 } /* Generic.Subheading */
.highlight .gt { color: #af5f5f } /* Generic.Traceback */
.highlight .kc { color: #875f5f } /* Keyword.Constant */
.highlight .kd { color: #875f5f } /* Keyword.Declaration */
.highlight .kn { color: #875f5f } /* Keyword.Namespace */
.highlight .kp { color: #919191 } /* Keyword.Pseudo */
.highlight .kr { color: #b46276 } /* Keyword.Reserved */
.highlight .kt { color: #af875f } /* Keyword.Type */
.highlight .ld { color: #af875f } /* Literal.Date */
.highlight .m { color: #87afaf } /* Literal.Number */
.highlight .s { color: #c9b98f } /* Literal.String */
.highlight .na { color: #ddd0c0 } /* Name.Attribute */
.highlight .nb { color: #ddd0c0 } /* Name.Builtin */
.highlight .nc { color: #875f5f } /* Name.Class */
.highlight .no { color: #af8787 } /* Name.Constant */
.highlight .nd { color: #fdd0c0 } /* Name.Decorator */
.highlight .ni { color: #ddd0c0 } /* Name.Entity */
.highlight .ne { color: #877575 } /* Name.Exception */
.highlight .nf { color: #fdd0c0 } /* Name.Function */
.highlight .nl { color: #ddd0c0 } /* Name.Label */
.highlight .nn { color: #ddd0c0 } /* Name.Namespace */
.highlight .nx { color: #ddd0c0 } /* Name.Other */
.highlight .py { color: #dfaf87 } /* Name.Property */
.highlight .nt { color: #87afaf } /* Name.Tag */
.highlight .nv { color: #ddd0c0 } /* Name.Variable */
.highlight .ow { color: #878787 } /* Operator.Word */
.highlight .pm { color: #ddd0c0 } /* Punctuation.Marker */
.highlight .w { color: #ddd0c0 } /* Text.Whitespace */
.highlight .mb { color: #87afaf } /* Literal.Number.Bin */
.highlight .mf { color: #87afaf } /* Literal.Number.Float */
.highlight .mh { color: #87afaf } /* Literal.Number.Hex */
.highlight .mi { color: #87afaf } /* Literal.Number.Integer */
.highlight .mo { color: #87afaf } /* Literal.Number.Oct */
.highlight .sa { color: #dfaf87 } /* Literal.String.Affix */
.highlight .sb { color: #c9b98f } /* Literal.String.Backtick */
.highlight .sc { color: #c9b98f } /* Literal.String.Char */
.highlight .dl { color: #c9b98f } /* Literal.String.Delimiter */
.highlight .sd { color: #878787 } /* Literal.String.Doc */
.highlight .s2 { color: #c9b98f } /* Literal.String.Double */
.highlight .se { color: #af5f5f } /* Literal.String.Escape */
.highlight .sh { color: #c9b98f } /* Literal.String.Heredoc */
.highlight .si { color: #af5f5f } /* Literal.String.Interpol */
.highlight .sx { color: #fdd0c0 } /* Literal.String.Other */
.highlight .sr { color: #af5f5f } /* Literal.String.Regex */
.highlight .s1 { color: #c9b98f } /* Literal.String.Single */
.highlight .ss { color: #af5f5f } /* Literal.String.Symbol */
.highlight .bp { color: #87afaf } /* Name.Builtin.Pseudo */
.highlight .fm { color: #fdd0c0 } /* Name.Function.Magic */
.highlight .vc { color: #ddd0c0 } /* Name.Variable.Class */
.highlight .vg { color: #ddd0c0 } /* Name.Variable.Global */
.highlight .vi { color: #ddd0c0 } /* Name.Variable.Instance */
.highlight .vm { color: #ddd0c0 } /* Name.Variable.Magic */
.highlight .il { color: #87afaf } /* Literal.Number.Integer.Long */

75
static/css/colorful.css Normal file
View File

@ -0,0 +1,75 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .o { color: #333333 } /* Operator */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #557799 } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #003388; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #333399; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
.highlight .s { background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #0000CC } /* Name.Attribute */
.highlight .nb { color: #007020 } /* Name.Builtin */
.highlight .nc { color: #BB0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066BB; font-weight: bold } /* Name.Function */
.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #007700 } /* Name.Tag */
.highlight .nv { color: #996633 } /* Name.Variable */
.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #0044DD } /* Literal.String.Char */
.highlight .dl { background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
.highlight .s2 { background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #666666; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
.highlight .sx { color: #DD2200; background-color: #fff0f0 } /* Literal.String.Other */
.highlight .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #AA6600 } /* Literal.String.Symbol */
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066BB; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700; font-weight: bold } /* Name.Variable.Global */
.highlight .vi { color: #3333BB } /* Name.Variable.Instance */
.highlight .vm { color: #996633 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */

75
static/css/default.css Normal file
View File

@ -0,0 +1,75 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #9C6500 } /* Comment.Preproc */
.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #E40000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #008400 } /* Generic.Inserted */
.highlight .go { color: #717171 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #687822 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0000FF } /* Name.Function */
.highlight .nl { color: #767600 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */

84
static/css/dracula.css Normal file
View File

@ -0,0 +1,84 @@
pre { line-height: 125%; }
td.linenos .normal { color: #f1fa8c; background-color: #44475a; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #f1fa8c; background-color: #44475a; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #50fa7b; background-color: #6272a4; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #50fa7b; background-color: #6272a4; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #44475a }
.highlight { background: #282a36; color: #f8f8f2 }
.highlight .c { color: #6272a4 } /* Comment */
.highlight .err { color: #f8f8f2 } /* Error */
.highlight .g { color: #f8f8f2 } /* Generic */
.highlight .k { color: #ff79c6 } /* Keyword */
.highlight .l { color: #f8f8f2 } /* Literal */
.highlight .n { color: #f8f8f2 } /* Name */
.highlight .o { color: #ff79c6 } /* Operator */
.highlight .x { color: #f8f8f2 } /* Other */
.highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .ch { color: #6272a4 } /* Comment.Hashbang */
.highlight .cm { color: #6272a4 } /* Comment.Multiline */
.highlight .cp { color: #ff79c6 } /* Comment.Preproc */
.highlight .cpf { color: #6272a4 } /* Comment.PreprocFile */
.highlight .c1 { color: #6272a4 } /* Comment.Single */
.highlight .cs { color: #6272a4 } /* Comment.Special */
.highlight .gd { color: #8b080b } /* Generic.Deleted */
.highlight .ge { color: #f8f8f2; text-decoration: underline } /* Generic.Emph */
.highlight .ges { color: #f8f8f2; text-decoration: underline } /* Generic.EmphStrong */
.highlight .gr { color: #f8f8f2 } /* Generic.Error */
.highlight .gh { color: #f8f8f2; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #f8f8f2; font-weight: bold } /* Generic.Inserted */
.highlight .go { color: #44475a } /* Generic.Output */
.highlight .gp { color: #f8f8f2 } /* Generic.Prompt */
.highlight .gs { color: #f8f8f2 } /* Generic.Strong */
.highlight .gu { color: #f8f8f2; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #f8f8f2 } /* Generic.Traceback */
.highlight .kc { color: #ff79c6 } /* Keyword.Constant */
.highlight .kd { color: #8be9fd; font-style: italic } /* Keyword.Declaration */
.highlight .kn { color: #ff79c6 } /* Keyword.Namespace */
.highlight .kp { color: #ff79c6 } /* Keyword.Pseudo */
.highlight .kr { color: #ff79c6 } /* Keyword.Reserved */
.highlight .kt { color: #8be9fd } /* Keyword.Type */
.highlight .ld { color: #f8f8f2 } /* Literal.Date */
.highlight .m { color: #ffb86c } /* Literal.Number */
.highlight .s { color: #bd93f9 } /* Literal.String */
.highlight .na { color: #50fa7b } /* Name.Attribute */
.highlight .nb { color: #8be9fd; font-style: italic } /* Name.Builtin */
.highlight .nc { color: #50fa7b } /* Name.Class */
.highlight .no { color: #f8f8f2 } /* Name.Constant */
.highlight .nd { color: #f8f8f2 } /* Name.Decorator */
.highlight .ni { color: #f8f8f2 } /* Name.Entity */
.highlight .ne { color: #f8f8f2 } /* Name.Exception */
.highlight .nf { color: #50fa7b } /* Name.Function */
.highlight .nl { color: #8be9fd; font-style: italic } /* Name.Label */
.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
.highlight .nx { color: #f8f8f2 } /* Name.Other */
.highlight .py { color: #f8f8f2 } /* Name.Property */
.highlight .nt { color: #ff79c6 } /* Name.Tag */
.highlight .nv { color: #8be9fd; font-style: italic } /* Name.Variable */
.highlight .ow { color: #ff79c6 } /* Operator.Word */
.highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */
.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
.highlight .mb { color: #ffb86c } /* Literal.Number.Bin */
.highlight .mf { color: #ffb86c } /* Literal.Number.Float */
.highlight .mh { color: #ffb86c } /* Literal.Number.Hex */
.highlight .mi { color: #ffb86c } /* Literal.Number.Integer */
.highlight .mo { color: #ffb86c } /* Literal.Number.Oct */
.highlight .sa { color: #bd93f9 } /* Literal.String.Affix */
.highlight .sb { color: #bd93f9 } /* Literal.String.Backtick */
.highlight .sc { color: #bd93f9 } /* Literal.String.Char */
.highlight .dl { color: #bd93f9 } /* Literal.String.Delimiter */
.highlight .sd { color: #bd93f9 } /* Literal.String.Doc */
.highlight .s2 { color: #bd93f9 } /* Literal.String.Double */
.highlight .se { color: #bd93f9 } /* Literal.String.Escape */
.highlight .sh { color: #bd93f9 } /* Literal.String.Heredoc */
.highlight .si { color: #bd93f9 } /* Literal.String.Interpol */
.highlight .sx { color: #bd93f9 } /* Literal.String.Other */
.highlight .sr { color: #bd93f9 } /* Literal.String.Regex */
.highlight .s1 { color: #bd93f9 } /* Literal.String.Single */
.highlight .ss { color: #bd93f9 } /* Literal.String.Symbol */
.highlight .bp { color: #f8f8f2; font-style: italic } /* Name.Builtin.Pseudo */
.highlight .fm { color: #50fa7b } /* Name.Function.Magic */
.highlight .vc { color: #8be9fd; font-style: italic } /* Name.Variable.Class */
.highlight .vg { color: #8be9fd; font-style: italic } /* Name.Variable.Global */
.highlight .vi { color: #8be9fd; font-style: italic } /* Name.Variable.Instance */
.highlight .vm { color: #8be9fd; font-style: italic } /* Name.Variable.Magic */
.highlight .il { color: #ffb86c } /* Literal.Number.Integer.Long */

75
static/css/emacs.css Normal file
View File

@ -0,0 +1,75 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #008800; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #AA22FF; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #008800; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #008800; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #008800 } /* Comment.Preproc */
.highlight .cpf { color: #008800; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #008800; font-style: italic } /* Comment.Single */
.highlight .cs { color: #008800; font-weight: bold } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #AA22FF; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #AA22FF; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #AA22FF; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #AA22FF } /* Keyword.Pseudo */
.highlight .kr { color: #AA22FF; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #00BB00; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #666666 } /* Literal.Number */
.highlight .s { color: #BB4444 } /* Literal.String */
.highlight .na { color: #BB4444 } /* Name.Attribute */
.highlight .nb { color: #AA22FF } /* Name.Builtin */
.highlight .nc { color: #0000FF } /* Name.Class */
.highlight .no { color: #880000 } /* Name.Constant */
.highlight .nd { color: #AA22FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #00A000 } /* Name.Function */
.highlight .nl { color: #A0A000 } /* Name.Label */
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #B8860B } /* Name.Variable */
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
.highlight .mf { color: #666666 } /* Literal.Number.Float */
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
.highlight .sa { color: #BB4444 } /* Literal.String.Affix */
.highlight .sb { color: #BB4444 } /* Literal.String.Backtick */
.highlight .sc { color: #BB4444 } /* Literal.String.Char */
.highlight .dl { color: #BB4444 } /* Literal.String.Delimiter */
.highlight .sd { color: #BB4444; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BB4444 } /* Literal.String.Double */
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BB4444 } /* Literal.String.Heredoc */
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
.highlight .s1 { color: #BB4444 } /* Literal.String.Single */
.highlight .ss { color: #B8860B } /* Literal.String.Symbol */
.highlight .bp { color: #AA22FF } /* Name.Builtin.Pseudo */
.highlight .fm { color: #00A000 } /* Name.Function.Magic */
.highlight .vc { color: #B8860B } /* Name.Variable.Class */
.highlight .vg { color: #B8860B } /* Name.Variable.Global */
.highlight .vi { color: #B8860B } /* Name.Variable.Instance */
.highlight .vm { color: #B8860B } /* Name.Variable.Magic */
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */

75
static/css/friendly.css Normal file
View File

@ -0,0 +1,75 @@
pre { line-height: 125%; }
td.linenos .normal { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f0f0f0; }
.highlight .c { color: #60a0b0; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #60a0b0; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #007020 } /* Comment.Preproc */
.highlight .cpf { color: #60a0b0; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
.highlight .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #007020 } /* Keyword.Pseudo */
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #902000 } /* Keyword.Type */
.highlight .m { color: #40a070 } /* Literal.Number */
.highlight .s { color: #4070a0 } /* Literal.String */
.highlight .na { color: #4070a0 } /* Name.Attribute */
.highlight .nb { color: #007020 } /* Name.Builtin */
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
.highlight .no { color: #60add5 } /* Name.Constant */
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #007020 } /* Name.Exception */
.highlight .nf { color: #06287e } /* Name.Function */
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #bb60d5 } /* Name.Variable */
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #40a070 } /* Literal.Number.Bin */
.highlight .mf { color: #40a070 } /* Literal.Number.Float */
.highlight .mh { color: #40a070 } /* Literal.Number.Hex */
.highlight .mi { color: #40a070 } /* Literal.Number.Integer */
.highlight .mo { color: #40a070 } /* Literal.Number.Oct */
.highlight .sa { color: #4070a0 } /* Literal.String.Affix */
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
.highlight .sx { color: #c65d09 } /* Literal.String.Other */
.highlight .sr { color: #235388 } /* Literal.String.Regex */
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #06287e } /* Name.Function.Magic */
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
.highlight .il { color: #40a070 } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,75 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f0f0f0; }
.highlight .c { color: #959595; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #898989 } /* Error */
.highlight .k { color: #575757; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .ch { color: #959595; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #959595; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #575757 } /* Comment.Preproc */
.highlight .cpf { color: #959595; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #959595; font-style: italic } /* Comment.Single */
.highlight .cs { color: #959595; background-color: #F4F4F4 } /* Comment.Special */
.highlight .gd { color: #545454 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #898989 } /* Generic.Error */
.highlight .gh { color: #373737; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #7D7D7D } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #7E7E7E; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #5A5A5A; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #6D6D6D } /* Generic.Traceback */
.highlight .kc { color: #575757; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #575757; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #575757; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #575757 } /* Keyword.Pseudo */
.highlight .kr { color: #575757; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #4F4F4F } /* Keyword.Type */
.highlight .m { color: #888888 } /* Literal.Number */
.highlight .s { color: #717171 } /* Literal.String */
.highlight .na { color: #707070 } /* Name.Attribute */
.highlight .nb { color: #575757 } /* Name.Builtin */
.highlight .nc { color: #7E7E7E; font-weight: bold } /* Name.Class */
.highlight .no { color: #A5A5A5 } /* Name.Constant */
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #848484; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #575757 } /* Name.Exception */
.highlight .nf { color: #3F3F3F } /* Name.Function */
.highlight .nl { color: #363636; font-weight: bold } /* Name.Label */
.highlight .nn { color: #7E7E7E; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #3B3B3B; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #9A9A9A } /* Name.Variable */
.highlight .ow { color: #575757; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #888888 } /* Literal.Number.Bin */
.highlight .mf { color: #888888 } /* Literal.Number.Float */
.highlight .mh { color: #888888 } /* Literal.Number.Hex */
.highlight .mi { color: #888888 } /* Literal.Number.Integer */
.highlight .mo { color: #888888 } /* Literal.Number.Oct */
.highlight .sa { color: #717171 } /* Literal.String.Affix */
.highlight .sb { color: #717171 } /* Literal.String.Backtick */
.highlight .sc { color: #717171 } /* Literal.String.Char */
.highlight .dl { color: #717171 } /* Literal.String.Delimiter */
.highlight .sd { color: #717171; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #717171 } /* Literal.String.Double */
.highlight .se { color: #717171; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #717171 } /* Literal.String.Heredoc */
.highlight .si { color: #9F9F9F; font-style: italic } /* Literal.String.Interpol */
.highlight .sx { color: #7E7E7E } /* Literal.String.Other */
.highlight .sr { color: #575757 } /* Literal.String.Regex */
.highlight .s1 { color: #717171 } /* Literal.String.Single */
.highlight .ss { color: #676767 } /* Literal.String.Symbol */
.highlight .bp { color: #575757 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #3F3F3F } /* Name.Function.Magic */
.highlight .vc { color: #9A9A9A } /* Name.Variable.Class */
.highlight .vg { color: #9A9A9A } /* Name.Variable.Global */
.highlight .vi { color: #9A9A9A } /* Name.Variable.Instance */
.highlight .vm { color: #9A9A9A } /* Name.Variable.Magic */
.highlight .il { color: #888888 } /* Literal.Number.Integer.Long */

85
static/css/fruity.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #333333 }
.highlight { background: #111111; color: #ffffff }
.highlight .c { color: #008800; font-style: italic; background-color: #0f140f } /* Comment */
.highlight .err { color: #ffffff } /* Error */
.highlight .esc { color: #ffffff } /* Escape */
.highlight .g { color: #ffffff } /* Generic */
.highlight .k { color: #fb660a; font-weight: bold } /* Keyword */
.highlight .l { color: #ffffff } /* Literal */
.highlight .n { color: #ffffff } /* Name */
.highlight .o { color: #ffffff } /* Operator */
.highlight .x { color: #ffffff } /* Other */
.highlight .p { color: #ffffff } /* Punctuation */
.highlight .ch { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Hashbang */
.highlight .cm { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Multiline */
.highlight .cp { color: #ff0007; font-weight: bold; font-style: italic; background-color: #0f140f } /* Comment.Preproc */
.highlight .cpf { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.PreprocFile */
.highlight .c1 { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Single */
.highlight .cs { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Special */
.highlight .gd { color: #ffffff } /* Generic.Deleted */
.highlight .ge { color: #ffffff } /* Generic.Emph */
.highlight .ges { color: #ffffff } /* Generic.EmphStrong */
.highlight .gr { color: #ffffff } /* Generic.Error */
.highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #ffffff } /* Generic.Inserted */
.highlight .go { color: #444444; background-color: #222222 } /* Generic.Output */
.highlight .gp { color: #ffffff } /* Generic.Prompt */
.highlight .gs { color: #ffffff } /* Generic.Strong */
.highlight .gu { color: #ffffff; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #ffffff } /* Generic.Traceback */
.highlight .kc { color: #fb660a; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #fb660a; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #fb660a; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #fb660a } /* Keyword.Pseudo */
.highlight .kr { color: #fb660a; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #cdcaa9; font-weight: bold } /* Keyword.Type */
.highlight .ld { color: #ffffff } /* Literal.Date */
.highlight .m { color: #0086f7; font-weight: bold } /* Literal.Number */
.highlight .s { color: #0086d2 } /* Literal.String */
.highlight .na { color: #ff0086; font-weight: bold } /* Name.Attribute */
.highlight .nb { color: #ffffff } /* Name.Builtin */
.highlight .nc { color: #ffffff } /* Name.Class */
.highlight .no { color: #0086d2 } /* Name.Constant */
.highlight .nd { color: #ffffff } /* Name.Decorator */
.highlight .ni { color: #ffffff } /* Name.Entity */
.highlight .ne { color: #ffffff } /* Name.Exception */
.highlight .nf { color: #ff0086; font-weight: bold } /* Name.Function */
.highlight .nl { color: #ffffff } /* Name.Label */
.highlight .nn { color: #ffffff } /* Name.Namespace */
.highlight .nx { color: #ffffff } /* Name.Other */
.highlight .py { color: #ffffff } /* Name.Property */
.highlight .nt { color: #fb660a; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #fb660a } /* Name.Variable */
.highlight .ow { color: #ffffff } /* Operator.Word */
.highlight .pm { color: #ffffff } /* Punctuation.Marker */
.highlight .w { color: #888888 } /* Text.Whitespace */
.highlight .mb { color: #0086f7; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0086f7; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0086f7; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0086f7; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0086f7; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #0086d2 } /* Literal.String.Affix */
.highlight .sb { color: #0086d2 } /* Literal.String.Backtick */
.highlight .sc { color: #0086d2 } /* Literal.String.Char */
.highlight .dl { color: #0086d2 } /* Literal.String.Delimiter */
.highlight .sd { color: #0086d2 } /* Literal.String.Doc */
.highlight .s2 { color: #0086d2 } /* Literal.String.Double */
.highlight .se { color: #0086d2 } /* Literal.String.Escape */
.highlight .sh { color: #0086d2 } /* Literal.String.Heredoc */
.highlight .si { color: #0086d2 } /* Literal.String.Interpol */
.highlight .sx { color: #0086d2 } /* Literal.String.Other */
.highlight .sr { color: #0086d2 } /* Literal.String.Regex */
.highlight .s1 { color: #0086d2 } /* Literal.String.Single */
.highlight .ss { color: #0086d2 } /* Literal.String.Symbol */
.highlight .bp { color: #ffffff } /* Name.Builtin.Pseudo */
.highlight .fm { color: #ff0086; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #fb660a } /* Name.Variable.Class */
.highlight .vg { color: #fb660a } /* Name.Variable.Global */
.highlight .vi { color: #fb660a } /* Name.Variable.Instance */
.highlight .vm { color: #fb660a } /* Name.Variable.Magic */
.highlight .il { color: #0086f7; font-weight: bold } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,86 @@
pre { line-height: 125%; }
td.linenos .normal { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #6e7681; background-color: #0d1117; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #e6edf3; background-color: #6e7681; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #6e7681 }
.highlight { background: #0d1117; color: #e6edf3 }
.highlight .c { color: #8b949e; font-style: italic } /* Comment */
.highlight .err { color: #f85149 } /* Error */
.highlight .esc { color: #e6edf3 } /* Escape */
.highlight .g { color: #e6edf3 } /* Generic */
.highlight .k { color: #ff7b72 } /* Keyword */
.highlight .l { color: #a5d6ff } /* Literal */
.highlight .n { color: #e6edf3 } /* Name */
.highlight .o { color: #ff7b72; font-weight: bold } /* Operator */
.highlight .x { color: #e6edf3 } /* Other */
.highlight .p { color: #e6edf3 } /* Punctuation */
.highlight .ch { color: #8b949e; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #8b949e; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #8b949e; font-weight: bold; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #8b949e; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #8b949e; font-style: italic } /* Comment.Single */
.highlight .cs { color: #8b949e; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #ffa198; background-color: #490202 } /* Generic.Deleted */
.highlight .ge { color: #e6edf3; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #e6edf3; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #ffa198 } /* Generic.Error */
.highlight .gh { color: #79c0ff; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #56d364; background-color: #0f5323 } /* Generic.Inserted */
.highlight .go { color: #8b949e } /* Generic.Output */
.highlight .gp { color: #8b949e } /* Generic.Prompt */
.highlight .gs { color: #e6edf3; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #79c0ff } /* Generic.Subheading */
.highlight .gt { color: #ff7b72 } /* Generic.Traceback */
.highlight .g-Underline { color: #e6edf3; text-decoration: underline } /* Generic.Underline */
.highlight .kc { color: #79c0ff } /* Keyword.Constant */
.highlight .kd { color: #ff7b72 } /* Keyword.Declaration */
.highlight .kn { color: #ff7b72 } /* Keyword.Namespace */
.highlight .kp { color: #79c0ff } /* Keyword.Pseudo */
.highlight .kr { color: #ff7b72 } /* Keyword.Reserved */
.highlight .kt { color: #ff7b72 } /* Keyword.Type */
.highlight .ld { color: #79c0ff } /* Literal.Date */
.highlight .m { color: #a5d6ff } /* Literal.Number */
.highlight .s { color: #a5d6ff } /* Literal.String */
.highlight .na { color: #e6edf3 } /* Name.Attribute */
.highlight .nb { color: #e6edf3 } /* Name.Builtin */
.highlight .nc { color: #f0883e; font-weight: bold } /* Name.Class */
.highlight .no { color: #79c0ff; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #d2a8ff; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #ffa657 } /* Name.Entity */
.highlight .ne { color: #f0883e; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #d2a8ff; font-weight: bold } /* Name.Function */
.highlight .nl { color: #79c0ff; font-weight: bold } /* Name.Label */
.highlight .nn { color: #ff7b72 } /* Name.Namespace */
.highlight .nx { color: #e6edf3 } /* Name.Other */
.highlight .py { color: #79c0ff } /* Name.Property */
.highlight .nt { color: #7ee787 } /* Name.Tag */
.highlight .nv { color: #79c0ff } /* Name.Variable */
.highlight .ow { color: #ff7b72; font-weight: bold } /* Operator.Word */
.highlight .pm { color: #e6edf3 } /* Punctuation.Marker */
.highlight .w { color: #6e7681 } /* Text.Whitespace */
.highlight .mb { color: #a5d6ff } /* Literal.Number.Bin */
.highlight .mf { color: #a5d6ff } /* Literal.Number.Float */
.highlight .mh { color: #a5d6ff } /* Literal.Number.Hex */
.highlight .mi { color: #a5d6ff } /* Literal.Number.Integer */
.highlight .mo { color: #a5d6ff } /* Literal.Number.Oct */
.highlight .sa { color: #79c0ff } /* Literal.String.Affix */
.highlight .sb { color: #a5d6ff } /* Literal.String.Backtick */
.highlight .sc { color: #a5d6ff } /* Literal.String.Char */
.highlight .dl { color: #79c0ff } /* Literal.String.Delimiter */
.highlight .sd { color: #a5d6ff } /* Literal.String.Doc */
.highlight .s2 { color: #a5d6ff } /* Literal.String.Double */
.highlight .se { color: #79c0ff } /* Literal.String.Escape */
.highlight .sh { color: #79c0ff } /* Literal.String.Heredoc */
.highlight .si { color: #a5d6ff } /* Literal.String.Interpol */
.highlight .sx { color: #a5d6ff } /* Literal.String.Other */
.highlight .sr { color: #79c0ff } /* Literal.String.Regex */
.highlight .s1 { color: #a5d6ff } /* Literal.String.Single */
.highlight .ss { color: #a5d6ff } /* Literal.String.Symbol */
.highlight .bp { color: #e6edf3 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #d2a8ff; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #79c0ff } /* Name.Variable.Class */
.highlight .vg { color: #79c0ff } /* Name.Variable.Global */
.highlight .vi { color: #79c0ff } /* Name.Variable.Instance */
.highlight .vm { color: #79c0ff } /* Name.Variable.Magic */
.highlight .il { color: #a5d6ff } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,86 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ebdbb2 }
.highlight { background: #282828; color: #dddddd }
.highlight .c { color: #928374; font-style: italic } /* Comment */
.highlight .err { color: #282828; background-color: #fb4934 } /* Error */
.highlight .esc { color: #dddddd } /* Escape */
.highlight .g { color: #dddddd } /* Generic */
.highlight .k { color: #fb4934 } /* Keyword */
.highlight .l { color: #dddddd } /* Literal */
.highlight .n { color: #dddddd } /* Name */
.highlight .o { color: #dddddd } /* Operator */
.highlight .x { color: #dddddd } /* Other */
.highlight .p { color: #dddddd } /* Punctuation */
.highlight .ch { color: #928374; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #928374; font-style: italic } /* Comment.Multiline */
.highlight .c-PreProc { color: #8ec07c; font-style: italic } /* Comment.PreProc */
.highlight .cp { color: #928374; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #928374; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #928374; font-style: italic } /* Comment.Single */
.highlight .cs { color: #ebdbb2; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #282828; background-color: #fb4934 } /* Generic.Deleted */
.highlight .ge { color: #dddddd; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #dddddd; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #fb4934 } /* Generic.Error */
.highlight .gh { color: #ebdbb2; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #282828; background-color: #b8bb26 } /* Generic.Inserted */
.highlight .go { color: #f2e5bc } /* Generic.Output */
.highlight .gp { color: #a89984 } /* Generic.Prompt */
.highlight .gs { color: #dddddd; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #ebdbb2; text-decoration: underline } /* Generic.Subheading */
.highlight .gt { color: #fb4934 } /* Generic.Traceback */
.highlight .kc { color: #fb4934 } /* Keyword.Constant */
.highlight .kd { color: #fb4934 } /* Keyword.Declaration */
.highlight .kn { color: #fb4934 } /* Keyword.Namespace */
.highlight .kp { color: #fb4934 } /* Keyword.Pseudo */
.highlight .kr { color: #fb4934 } /* Keyword.Reserved */
.highlight .kt { color: #fb4934 } /* Keyword.Type */
.highlight .ld { color: #dddddd } /* Literal.Date */
.highlight .m { color: #d3869b } /* Literal.Number */
.highlight .s { color: #b8bb26 } /* Literal.String */
.highlight .na { color: #fabd2f } /* Name.Attribute */
.highlight .nb { color: #fe8019 } /* Name.Builtin */
.highlight .nc { color: #8ec07c } /* Name.Class */
.highlight .no { color: #d3869b } /* Name.Constant */
.highlight .nd { color: #fb4934 } /* Name.Decorator */
.highlight .ni { color: #dddddd } /* Name.Entity */
.highlight .ne { color: #fb4934 } /* Name.Exception */
.highlight .nf { color: #8ec07c } /* Name.Function */
.highlight .nl { color: #dddddd } /* Name.Label */
.highlight .nn { color: #8ec07c } /* Name.Namespace */
.highlight .nx { color: #dddddd } /* Name.Other */
.highlight .py { color: #dddddd } /* Name.Property */
.highlight .nt { color: #8ec07c } /* Name.Tag */
.highlight .nv { color: #83a598 } /* Name.Variable */
.highlight .ow { color: #fb4934 } /* Operator.Word */
.highlight .pm { color: #dddddd } /* Punctuation.Marker */
.highlight .w { color: #dddddd } /* Text.Whitespace */
.highlight .mb { color: #d3869b } /* Literal.Number.Bin */
.highlight .mf { color: #d3869b } /* Literal.Number.Float */
.highlight .mh { color: #d3869b } /* Literal.Number.Hex */
.highlight .mi { color: #d3869b } /* Literal.Number.Integer */
.highlight .mo { color: #d3869b } /* Literal.Number.Oct */
.highlight .sa { color: #b8bb26 } /* Literal.String.Affix */
.highlight .sb { color: #b8bb26 } /* Literal.String.Backtick */
.highlight .sc { color: #b8bb26 } /* Literal.String.Char */
.highlight .dl { color: #b8bb26 } /* Literal.String.Delimiter */
.highlight .sd { color: #b8bb26 } /* Literal.String.Doc */
.highlight .s2 { color: #b8bb26 } /* Literal.String.Double */
.highlight .se { color: #fe8019 } /* Literal.String.Escape */
.highlight .sh { color: #b8bb26 } /* Literal.String.Heredoc */
.highlight .si { color: #b8bb26 } /* Literal.String.Interpol */
.highlight .sx { color: #b8bb26 } /* Literal.String.Other */
.highlight .sr { color: #b8bb26 } /* Literal.String.Regex */
.highlight .s1 { color: #b8bb26 } /* Literal.String.Single */
.highlight .ss { color: #b8bb26 } /* Literal.String.Symbol */
.highlight .bp { color: #fe8019 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #8ec07c } /* Name.Function.Magic */
.highlight .vc { color: #83a598 } /* Name.Variable.Class */
.highlight .vg { color: #83a598 } /* Name.Variable.Global */
.highlight .vi { color: #83a598 } /* Name.Variable.Instance */
.highlight .vm { color: #83a598 } /* Name.Variable.Magic */
.highlight .il { color: #d3869b } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,71 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #3c3836 }
.highlight { background: #fbf1c7; }
.highlight .c { color: #928374; font-style: italic } /* Comment */
.highlight .err { color: #fbf1c7; background-color: #9d0006 } /* Error */
.highlight .k { color: #9d0006 } /* Keyword */
.highlight .ch { color: #928374; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #928374; font-style: italic } /* Comment.Multiline */
.highlight .c-PreProc { color: #427b58; font-style: italic } /* Comment.PreProc */
.highlight .cp { color: #928374; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #928374; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #928374; font-style: italic } /* Comment.Single */
.highlight .cs { color: #3c3836; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #fbf1c7; background-color: #9d0006 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #9d0006 } /* Generic.Error */
.highlight .gh { color: #3c3836; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #fbf1c7; background-color: #79740e } /* Generic.Inserted */
.highlight .go { color: #32302f } /* Generic.Output */
.highlight .gp { color: #7c6f64 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #3c3836; text-decoration: underline } /* Generic.Subheading */
.highlight .gt { color: #9d0006 } /* Generic.Traceback */
.highlight .kc { color: #9d0006 } /* Keyword.Constant */
.highlight .kd { color: #9d0006 } /* Keyword.Declaration */
.highlight .kn { color: #9d0006 } /* Keyword.Namespace */
.highlight .kp { color: #9d0006 } /* Keyword.Pseudo */
.highlight .kr { color: #9d0006 } /* Keyword.Reserved */
.highlight .kt { color: #9d0006 } /* Keyword.Type */
.highlight .m { color: #8f3f71 } /* Literal.Number */
.highlight .s { color: #79740e } /* Literal.String */
.highlight .na { color: #b57614 } /* Name.Attribute */
.highlight .nb { color: #af3a03 } /* Name.Builtin */
.highlight .nc { color: #427b58 } /* Name.Class */
.highlight .no { color: #8f3f71 } /* Name.Constant */
.highlight .nd { color: #9d0006 } /* Name.Decorator */
.highlight .ne { color: #9d0006 } /* Name.Exception */
.highlight .nf { color: #427b58 } /* Name.Function */
.highlight .nn { color: #427b58 } /* Name.Namespace */
.highlight .nt { color: #427b58 } /* Name.Tag */
.highlight .nv { color: #076678 } /* Name.Variable */
.highlight .ow { color: #9d0006 } /* Operator.Word */
.highlight .mb { color: #8f3f71 } /* Literal.Number.Bin */
.highlight .mf { color: #8f3f71 } /* Literal.Number.Float */
.highlight .mh { color: #8f3f71 } /* Literal.Number.Hex */
.highlight .mi { color: #8f3f71 } /* Literal.Number.Integer */
.highlight .mo { color: #8f3f71 } /* Literal.Number.Oct */
.highlight .sa { color: #79740e } /* Literal.String.Affix */
.highlight .sb { color: #79740e } /* Literal.String.Backtick */
.highlight .sc { color: #79740e } /* Literal.String.Char */
.highlight .dl { color: #79740e } /* Literal.String.Delimiter */
.highlight .sd { color: #79740e } /* Literal.String.Doc */
.highlight .s2 { color: #79740e } /* Literal.String.Double */
.highlight .se { color: #af3a03 } /* Literal.String.Escape */
.highlight .sh { color: #79740e } /* Literal.String.Heredoc */
.highlight .si { color: #79740e } /* Literal.String.Interpol */
.highlight .sx { color: #79740e } /* Literal.String.Other */
.highlight .sr { color: #79740e } /* Literal.String.Regex */
.highlight .s1 { color: #79740e } /* Literal.String.Single */
.highlight .ss { color: #79740e } /* Literal.String.Symbol */
.highlight .bp { color: #af3a03 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #427b58 } /* Name.Function.Magic */
.highlight .vc { color: #076678 } /* Name.Variable.Class */
.highlight .vg { color: #076678 } /* Name.Variable.Global */
.highlight .vi { color: #076678 } /* Name.Variable.Instance */
.highlight .vm { color: #076678 } /* Name.Variable.Magic */
.highlight .il { color: #8f3f71 } /* Literal.Number.Integer.Long */

39
static/css/igor.css Normal file
View File

@ -0,0 +1,39 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #FF0000; font-style: italic } /* Comment */
.highlight .k { color: #0000FF } /* Keyword */
.highlight .ch { color: #FF0000; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #FF0000; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #FF0000; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #FF0000; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #FF0000; font-style: italic } /* Comment.Single */
.highlight .cs { color: #FF0000; font-style: italic } /* Comment.Special */
.highlight .kc { color: #0000FF } /* Keyword.Constant */
.highlight .kd { color: #0000FF } /* Keyword.Declaration */
.highlight .kn { color: #0000FF } /* Keyword.Namespace */
.highlight .kp { color: #0000FF } /* Keyword.Pseudo */
.highlight .kr { color: #0000FF } /* Keyword.Reserved */
.highlight .kt { color: #0000FF } /* Keyword.Type */
.highlight .s { color: #009C00 } /* Literal.String */
.highlight .nc { color: #007575 } /* Name.Class */
.highlight .nd { color: #CC00A3 } /* Name.Decorator */
.highlight .nf { color: #C34E00 } /* Name.Function */
.highlight .sa { color: #009C00 } /* Literal.String.Affix */
.highlight .sb { color: #009C00 } /* Literal.String.Backtick */
.highlight .sc { color: #009C00 } /* Literal.String.Char */
.highlight .dl { color: #009C00 } /* Literal.String.Delimiter */
.highlight .sd { color: #009C00 } /* Literal.String.Doc */
.highlight .s2 { color: #009C00 } /* Literal.String.Double */
.highlight .se { color: #009C00 } /* Literal.String.Escape */
.highlight .sh { color: #009C00 } /* Literal.String.Heredoc */
.highlight .si { color: #009C00 } /* Literal.String.Interpol */
.highlight .sx { color: #009C00 } /* Literal.String.Other */
.highlight .sr { color: #009C00 } /* Literal.String.Regex */
.highlight .s1 { color: #009C00 } /* Literal.String.Single */
.highlight .ss { color: #009C00 } /* Literal.String.Symbol */
.highlight .fm { color: #C34E00 } /* Name.Function.Magic */

81
static/css/inkpot.css Normal file
View File

@ -0,0 +1,81 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #1e1e27; color: #cfbfad }
.highlight .c { color: #cd8b00 } /* Comment */
.highlight .err { color: #ffffff; background-color: #6e2e2e } /* Error */
.highlight .k { color: #808bed } /* Keyword */
.highlight .n { color: #cfbfad } /* Name */
.highlight .o { color: #666666 } /* Operator */
.highlight .x { color: #cfbfad } /* Other */
.highlight .p { color: #cfbfad } /* Punctuation */
.highlight .ch { color: #cd8b00 } /* Comment.Hashbang */
.highlight .cm { color: #cd8b00 } /* Comment.Multiline */
.highlight .cp { color: #409090 } /* Comment.Preproc */
.highlight .cpf { color: #ffcd8b; background-color: #404040 } /* Comment.PreprocFile */
.highlight .c1 { color: #cd8b00 } /* Comment.Single */
.highlight .cs { color: #808bed } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #808bed } /* Keyword.Constant */
.highlight .kd { color: #808bed } /* Keyword.Declaration */
.highlight .kn { color: #808bed } /* Keyword.Namespace */
.highlight .kp { color: #808bed } /* Keyword.Pseudo */
.highlight .kr { color: #808bed } /* Keyword.Reserved */
.highlight .kt { color: #ff8bff } /* Keyword.Type */
.highlight .m { color: #f0ad6d } /* Literal.Number */
.highlight .s { color: #ffcd8b; background-color: #404040 } /* Literal.String */
.highlight .na { color: #cfbfad } /* Name.Attribute */
.highlight .nb { color: #808bed } /* Name.Builtin */
.highlight .nc { color: #ff8bff } /* Name.Class */
.highlight .no { color: #409090 } /* Name.Constant */
.highlight .nd { color: #409090 } /* Name.Decorator */
.highlight .ni { color: #cfbfad } /* Name.Entity */
.highlight .ne { color: #ff0000 } /* Name.Exception */
.highlight .nf { color: #c080d0 } /* Name.Function */
.highlight .nl { color: #808bed } /* Name.Label */
.highlight .nn { color: #ff0000 } /* Name.Namespace */
.highlight .nx { color: #cfbfad } /* Name.Other */
.highlight .py { color: #cfbfad } /* Name.Property */
.highlight .nt { color: #cfbfad } /* Name.Tag */
.highlight .nv { color: #cfbfad } /* Name.Variable */
.highlight .ow { color: #666666 } /* Operator.Word */
.highlight .pm { color: #cfbfad } /* Punctuation.Marker */
.highlight .w { color: #434357 } /* Text.Whitespace */
.highlight .mb { color: #f0ad6d } /* Literal.Number.Bin */
.highlight .mf { color: #f0ad6d } /* Literal.Number.Float */
.highlight .mh { color: #f0ad6d } /* Literal.Number.Hex */
.highlight .mi { color: #f0ad6d } /* Literal.Number.Integer */
.highlight .mo { color: #f0ad6d } /* Literal.Number.Oct */
.highlight .sa { color: #ffcd8b; background-color: #404040 } /* Literal.String.Affix */
.highlight .sb { color: #ffcd8b; background-color: #404040 } /* Literal.String.Backtick */
.highlight .sc { color: #ffcd8b; background-color: #404040 } /* Literal.String.Char */
.highlight .dl { color: #ffcd8b; background-color: #404040 } /* Literal.String.Delimiter */
.highlight .sd { color: #808bed; background-color: #404040 } /* Literal.String.Doc */
.highlight .s2 { color: #ffcd8b; background-color: #404040 } /* Literal.String.Double */
.highlight .se { color: #ffcd8b; background-color: #404040 } /* Literal.String.Escape */
.highlight .sh { color: #ffcd8b; background-color: #404040 } /* Literal.String.Heredoc */
.highlight .si { color: #ffcd8b; background-color: #404040 } /* Literal.String.Interpol */
.highlight .sx { color: #ffcd8b; background-color: #404040 } /* Literal.String.Other */
.highlight .sr { color: #ffcd8b; background-color: #404040 } /* Literal.String.Regex */
.highlight .s1 { color: #ffcd8b; background-color: #404040 } /* Literal.String.Single */
.highlight .ss { color: #ffcd8b; background-color: #404040 } /* Literal.String.Symbol */
.highlight .bp { color: #ffff00 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #c080d0 } /* Name.Function.Magic */
.highlight .vc { color: #cfbfad } /* Name.Variable.Class */
.highlight .vg { color: #cfbfad } /* Name.Variable.Global */
.highlight .vi { color: #cfbfad } /* Name.Variable.Instance */
.highlight .vm { color: #cfbfad } /* Name.Variable.Magic */
.highlight .il { color: #f0ad6d } /* Literal.Number.Integer.Long */

85
static/css/lightbulb.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: #3c4354; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #3c4354; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #3c4354; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #3c4354; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #6e7681 }
.highlight { background: #1d2331; color: #d4d2c8 }
.highlight .c { color: #7e8aa1 } /* Comment */
.highlight .err { color: #f88f7f } /* Error */
.highlight .esc { color: #d4d2c8 } /* Escape */
.highlight .g { color: #d4d2c8 } /* Generic */
.highlight .k { color: #FFAD66 } /* Keyword */
.highlight .l { color: #D5FF80 } /* Literal */
.highlight .n { color: #d4d2c8 } /* Name */
.highlight .o { color: #FFAD66 } /* Operator */
.highlight .x { color: #d4d2c8 } /* Other */
.highlight .p { color: #d4d2c8 } /* Punctuation */
.highlight .ch { color: #f88f7f; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #7e8aa1 } /* Comment.Multiline */
.highlight .cp { color: #FFAD66; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #7e8aa1 } /* Comment.PreprocFile */
.highlight .c1 { color: #7e8aa1 } /* Comment.Single */
.highlight .cs { color: #7e8aa1; font-style: italic } /* Comment.Special */
.highlight .gd { color: #f88f7f; background-color: #3d1e20 } /* Generic.Deleted */
.highlight .ge { color: #d4d2c8; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #d4d2c8 } /* Generic.EmphStrong */
.highlight .gr { color: #f88f7f } /* Generic.Error */
.highlight .gh { color: #d4d2c8 } /* Generic.Heading */
.highlight .gi { color: #6ad4af; background-color: #19362c } /* Generic.Inserted */
.highlight .go { color: #7e8aa1 } /* Generic.Output */
.highlight .gp { color: #d4d2c8 } /* Generic.Prompt */
.highlight .gs { color: #d4d2c8; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #d4d2c8 } /* Generic.Subheading */
.highlight .gt { color: #f88f7f } /* Generic.Traceback */
.highlight .kc { color: #FFAD66 } /* Keyword.Constant */
.highlight .kd { color: #FFAD66 } /* Keyword.Declaration */
.highlight .kn { color: #FFAD66 } /* Keyword.Namespace */
.highlight .kp { color: #FFAD66 } /* Keyword.Pseudo */
.highlight .kr { color: #FFAD66 } /* Keyword.Reserved */
.highlight .kt { color: #73D0FF } /* Keyword.Type */
.highlight .ld { color: #D5FF80 } /* Literal.Date */
.highlight .m { color: #DFBFFF } /* Literal.Number */
.highlight .s { color: #D5FF80 } /* Literal.String */
.highlight .na { color: #FFD173 } /* Name.Attribute */
.highlight .nb { color: #FFD173 } /* Name.Builtin */
.highlight .nc { color: #73D0FF } /* Name.Class */
.highlight .no { color: #FFD173 } /* Name.Constant */
.highlight .nd { color: #7e8aa1; font-weight: bold; font-style: italic } /* Name.Decorator */
.highlight .ni { color: #95E6CB } /* Name.Entity */
.highlight .ne { color: #73D0FF } /* Name.Exception */
.highlight .nf { color: #FFD173 } /* Name.Function */
.highlight .nl { color: #d4d2c8 } /* Name.Label */
.highlight .nn { color: #d4d2c8 } /* Name.Namespace */
.highlight .nx { color: #d4d2c8 } /* Name.Other */
.highlight .py { color: #FFD173 } /* Name.Property */
.highlight .nt { color: #5CCFE6 } /* Name.Tag */
.highlight .nv { color: #d4d2c8 } /* Name.Variable */
.highlight .ow { color: #FFAD66 } /* Operator.Word */
.highlight .pm { color: #d4d2c8 } /* Punctuation.Marker */
.highlight .w { color: #d4d2c8 } /* Text.Whitespace */
.highlight .mb { color: #DFBFFF } /* Literal.Number.Bin */
.highlight .mf { color: #DFBFFF } /* Literal.Number.Float */
.highlight .mh { color: #DFBFFF } /* Literal.Number.Hex */
.highlight .mi { color: #DFBFFF } /* Literal.Number.Integer */
.highlight .mo { color: #DFBFFF } /* Literal.Number.Oct */
.highlight .sa { color: #F29E74 } /* Literal.String.Affix */
.highlight .sb { color: #D5FF80 } /* Literal.String.Backtick */
.highlight .sc { color: #D5FF80 } /* Literal.String.Char */
.highlight .dl { color: #D5FF80 } /* Literal.String.Delimiter */
.highlight .sd { color: #7e8aa1 } /* Literal.String.Doc */
.highlight .s2 { color: #D5FF80 } /* Literal.String.Double */
.highlight .se { color: #95E6CB } /* Literal.String.Escape */
.highlight .sh { color: #D5FF80 } /* Literal.String.Heredoc */
.highlight .si { color: #95E6CB } /* Literal.String.Interpol */
.highlight .sx { color: #95E6CB } /* Literal.String.Other */
.highlight .sr { color: #95E6CB } /* Literal.String.Regex */
.highlight .s1 { color: #D5FF80 } /* Literal.String.Single */
.highlight .ss { color: #DFBFFF } /* Literal.String.Symbol */
.highlight .bp { color: #5CCFE6 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #FFD173 } /* Name.Function.Magic */
.highlight .vc { color: #d4d2c8 } /* Name.Variable.Class */
.highlight .vg { color: #d4d2c8 } /* Name.Variable.Global */
.highlight .vi { color: #d4d2c8 } /* Name.Variable.Instance */
.highlight .vm { color: #d4d2c8 } /* Name.Variable.Magic */
.highlight .il { color: #DFBFFF } /* Literal.Number.Integer.Long */

61
static/css/lilypond.css Normal file
View File

@ -0,0 +1,61 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .-ChordModifier { color: #976806 } /* ChordModifier */
.highlight .c { color: #A3AAB2; font-style: italic } /* Comment */
.highlight .k { font-weight: bold } /* Keyword */
.highlight .ch { color: #A3AAB2; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #A3AAB2; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #A3AAB2; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #A3AAB2; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #A3AAB2; font-style: italic } /* Comment.Single */
.highlight .cs { color: #A3AAB2; font-style: italic } /* Comment.Special */
.highlight .kc { font-weight: bold } /* Keyword.Constant */
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
.highlight .kn { font-weight: bold } /* Keyword.Namespace */
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
.highlight .kt { font-weight: bold } /* Keyword.Type */
.highlight .m { color: #976806 } /* Literal.Number */
.highlight .s { color: #AB0909 } /* Literal.String */
.highlight .n-BackslashReference { color: #08547A } /* Name.BackslashReference */
.highlight .n-Lvalue { color: #08547A } /* Name.Lvalue */
.highlight .mb { color: #976806 } /* Literal.Number.Bin */
.highlight .mf { color: #976806 } /* Literal.Number.Float */
.highlight .mh { color: #976806 } /* Literal.Number.Hex */
.highlight .mi { color: #976806 } /* Literal.Number.Integer */
.highlight .mo { color: #976806 } /* Literal.Number.Oct */
.highlight .sa { color: #AB0909 } /* Literal.String.Affix */
.highlight .sb { color: #AB0909 } /* Literal.String.Backtick */
.highlight .sc { color: #AB0909 } /* Literal.String.Char */
.highlight .dl { color: #AB0909 } /* Literal.String.Delimiter */
.highlight .sd { color: #AB0909 } /* Literal.String.Doc */
.highlight .s2 { color: #AB0909 } /* Literal.String.Double */
.highlight .se { color: #C46C6C } /* Literal.String.Escape */
.highlight .sh { color: #AB0909 } /* Literal.String.Heredoc */
.highlight .si { color: #AB0909 } /* Literal.String.Interpol */
.highlight .sx { color: #AB0909 } /* Literal.String.Other */
.highlight .sr { color: #AB0909 } /* Literal.String.Regex */
.highlight .s1 { color: #AB0909 } /* Literal.String.Single */
.highlight .nb-Articulation { color: #68175A } /* Name.Builtin.Articulation */
.highlight .nb-Clef { color: #08547A; font-weight: bold } /* Name.Builtin.Clef */
.highlight .nb-Context { color: #038B8B; font-weight: bold } /* Name.Builtin.Context */
.highlight .nb-ContextProperty { color: #038B8B } /* Name.Builtin.ContextProperty */
.highlight .nb-Dynamic { color: #68175A } /* Name.Builtin.Dynamic */
.highlight .nb-Grob { color: #0C7441; font-weight: bold } /* Name.Builtin.Grob */
.highlight .nb-GrobProperty { color: #0C7441 } /* Name.Builtin.GrobProperty */
.highlight .nb-HeaderVariable { color: #6C5A05; font-weight: bold } /* Name.Builtin.HeaderVariable */
.highlight .nb-MarkupCommand { color: #831E71; font-weight: bold } /* Name.Builtin.MarkupCommand */
.highlight .nb-MusicCommand { color: #08547A; font-weight: bold } /* Name.Builtin.MusicCommand */
.highlight .nb-MusicFunction { color: #08547A; font-weight: bold } /* Name.Builtin.MusicFunction */
.highlight .nb-PaperVariable { color: #6C5A05; font-weight: bold } /* Name.Builtin.PaperVariable */
.highlight .nb-RepeatType { color: #08547A } /* Name.Builtin.RepeatType */
.highlight .nb-Scale { color: #08547A; font-weight: bold } /* Name.Builtin.Scale */
.highlight .nb-SchemeBuiltin { font-weight: bold } /* Name.Builtin.SchemeBuiltin */
.highlight .nb-SchemeFunction { color: #A83401; font-weight: bold } /* Name.Builtin.SchemeFunction */
.highlight .nb-Translator { color: #6200A4; font-weight: bold } /* Name.Builtin.Translator */
.highlight .il { color: #976806 } /* Literal.Number.Integer.Long */

77
static/css/lovelace.css Normal file
View File

@ -0,0 +1,77 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #888888; font-style: italic } /* Comment */
.highlight .err { background-color: #a848a8 } /* Error */
.highlight .k { color: #2838b0 } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .p { color: #888888 } /* Punctuation */
.highlight .ch { color: #287088; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #888888; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #289870 } /* Comment.Preproc */
.highlight .cpf { color: #888888; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #888888; font-style: italic } /* Comment.Single */
.highlight .cs { color: #888888; font-style: italic } /* Comment.Special */
.highlight .gd { color: #c02828 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #c02828 } /* Generic.Error */
.highlight .gh { color: #666666 } /* Generic.Heading */
.highlight .gi { color: #388038 } /* Generic.Inserted */
.highlight .go { color: #666666 } /* Generic.Output */
.highlight .gp { color: #444444 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #444444 } /* Generic.Subheading */
.highlight .gt { color: #2838b0 } /* Generic.Traceback */
.highlight .kc { color: #444444; font-style: italic } /* Keyword.Constant */
.highlight .kd { color: #2838b0; font-style: italic } /* Keyword.Declaration */
.highlight .kn { color: #2838b0 } /* Keyword.Namespace */
.highlight .kp { color: #2838b0 } /* Keyword.Pseudo */
.highlight .kr { color: #2838b0 } /* Keyword.Reserved */
.highlight .kt { color: #2838b0; font-style: italic } /* Keyword.Type */
.highlight .m { color: #444444 } /* Literal.Number */
.highlight .s { color: #b83838 } /* Literal.String */
.highlight .na { color: #388038 } /* Name.Attribute */
.highlight .nb { color: #388038 } /* Name.Builtin */
.highlight .nc { color: #287088 } /* Name.Class */
.highlight .no { color: #b85820 } /* Name.Constant */
.highlight .nd { color: #287088 } /* Name.Decorator */
.highlight .ni { color: #709030 } /* Name.Entity */
.highlight .ne { color: #908828 } /* Name.Exception */
.highlight .nf { color: #785840 } /* Name.Function */
.highlight .nl { color: #289870 } /* Name.Label */
.highlight .nn { color: #289870 } /* Name.Namespace */
.highlight .nt { color: #2838b0 } /* Name.Tag */
.highlight .nv { color: #b04040 } /* Name.Variable */
.highlight .ow { color: #a848a8 } /* Operator.Word */
.highlight .pm { color: #888888 } /* Punctuation.Marker */
.highlight .w { color: #a89028 } /* Text.Whitespace */
.highlight .mb { color: #444444 } /* Literal.Number.Bin */
.highlight .mf { color: #444444 } /* Literal.Number.Float */
.highlight .mh { color: #444444 } /* Literal.Number.Hex */
.highlight .mi { color: #444444 } /* Literal.Number.Integer */
.highlight .mo { color: #444444 } /* Literal.Number.Oct */
.highlight .sa { color: #444444 } /* Literal.String.Affix */
.highlight .sb { color: #b83838 } /* Literal.String.Backtick */
.highlight .sc { color: #a848a8 } /* Literal.String.Char */
.highlight .dl { color: #b85820 } /* Literal.String.Delimiter */
.highlight .sd { color: #b85820; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #b83838 } /* Literal.String.Double */
.highlight .se { color: #709030 } /* Literal.String.Escape */
.highlight .sh { color: #b83838 } /* Literal.String.Heredoc */
.highlight .si { color: #b83838; text-decoration: underline } /* Literal.String.Interpol */
.highlight .sx { color: #a848a8 } /* Literal.String.Other */
.highlight .sr { color: #a848a8 } /* Literal.String.Regex */
.highlight .s1 { color: #b83838 } /* Literal.String.Single */
.highlight .ss { color: #b83838 } /* Literal.String.Symbol */
.highlight .bp { color: #388038; font-style: italic } /* Name.Builtin.Pseudo */
.highlight .fm { color: #b85820 } /* Name.Function.Magic */
.highlight .vc { color: #b04040 } /* Name.Variable.Class */
.highlight .vg { color: #908828 } /* Name.Variable.Global */
.highlight .vi { color: #b04040 } /* Name.Variable.Instance */
.highlight .vm { color: #b85820 } /* Name.Variable.Magic */
.highlight .il { color: #444444 } /* Literal.Number.Integer.Long */

75
static/css/manni.css Normal file
View File

@ -0,0 +1,75 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f0f3f3; }
.highlight .c { color: #0099FF; font-style: italic } /* Comment */
.highlight .err { color: #AA0000; background-color: #FFAAAA } /* Error */
.highlight .k { color: #006699; font-weight: bold } /* Keyword */
.highlight .o { color: #555555 } /* Operator */
.highlight .ch { color: #0099FF; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #009999 } /* Comment.Preproc */
.highlight .cpf { color: #0099FF; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #0099FF; font-style: italic } /* Comment.Single */
.highlight .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #003300; font-weight: bold } /* Generic.Heading */
.highlight .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */
.highlight .go { color: #AAAAAA } /* Generic.Output */
.highlight .gp { color: #000099; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #003300; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #99CC66 } /* Generic.Traceback */
.highlight .kc { color: #006699; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #006699 } /* Keyword.Pseudo */
.highlight .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #007788; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #FF6600 } /* Literal.Number */
.highlight .s { color: #CC3300 } /* Literal.String */
.highlight .na { color: #330099 } /* Name.Attribute */
.highlight .nb { color: #336666 } /* Name.Builtin */
.highlight .nc { color: #00AA88; font-weight: bold } /* Name.Class */
.highlight .no { color: #336600 } /* Name.Constant */
.highlight .nd { color: #9999FF } /* Name.Decorator */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #CC0000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #CC00FF } /* Name.Function */
.highlight .nl { color: #9999FF } /* Name.Label */
.highlight .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #330099; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #003333 } /* Name.Variable */
.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #FF6600 } /* Literal.Number.Bin */
.highlight .mf { color: #FF6600 } /* Literal.Number.Float */
.highlight .mh { color: #FF6600 } /* Literal.Number.Hex */
.highlight .mi { color: #FF6600 } /* Literal.Number.Integer */
.highlight .mo { color: #FF6600 } /* Literal.Number.Oct */
.highlight .sa { color: #CC3300 } /* Literal.String.Affix */
.highlight .sb { color: #CC3300 } /* Literal.String.Backtick */
.highlight .sc { color: #CC3300 } /* Literal.String.Char */
.highlight .dl { color: #CC3300 } /* Literal.String.Delimiter */
.highlight .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #CC3300 } /* Literal.String.Double */
.highlight .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #CC3300 } /* Literal.String.Heredoc */
.highlight .si { color: #AA0000 } /* Literal.String.Interpol */
.highlight .sx { color: #CC3300 } /* Literal.String.Other */
.highlight .sr { color: #33AAAA } /* Literal.String.Regex */
.highlight .s1 { color: #CC3300 } /* Literal.String.Single */
.highlight .ss { color: #FFCC33 } /* Literal.String.Symbol */
.highlight .bp { color: #336666 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #CC00FF } /* Name.Function.Magic */
.highlight .vc { color: #003333 } /* Name.Variable.Class */
.highlight .vg { color: #003333 } /* Name.Variable.Global */
.highlight .vi { color: #003333 } /* Name.Variable.Instance */
.highlight .vm { color: #003333 } /* Name.Variable.Magic */
.highlight .il { color: #FF6600 } /* Literal.Number.Integer.Long */

84
static/css/material.css Normal file
View File

@ -0,0 +1,84 @@
pre { line-height: 125%; }
td.linenos .normal { color: #37474F; background-color: #263238; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #37474F; background-color: #263238; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #607A86; background-color: #263238; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #607A86; background-color: #263238; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #2C3B41 }
.highlight { background: #263238; color: #EEFFFF }
.highlight .c { color: #546E7A; font-style: italic } /* Comment */
.highlight .err { color: #FF5370 } /* Error */
.highlight .esc { color: #89DDFF } /* Escape */
.highlight .g { color: #EEFFFF } /* Generic */
.highlight .k { color: #BB80B3 } /* Keyword */
.highlight .l { color: #C3E88D } /* Literal */
.highlight .n { color: #EEFFFF } /* Name */
.highlight .o { color: #89DDFF } /* Operator */
.highlight .p { color: #89DDFF } /* Punctuation */
.highlight .ch { color: #546E7A; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #546E7A; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #546E7A; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #546E7A; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #546E7A; font-style: italic } /* Comment.Single */
.highlight .cs { color: #546E7A; font-style: italic } /* Comment.Special */
.highlight .gd { color: #FF5370 } /* Generic.Deleted */
.highlight .ge { color: #89DDFF } /* Generic.Emph */
.highlight .ges { color: #FFCB6B } /* Generic.EmphStrong */
.highlight .gr { color: #FF5370 } /* Generic.Error */
.highlight .gh { color: #C3E88D } /* Generic.Heading */
.highlight .gi { color: #C3E88D } /* Generic.Inserted */
.highlight .go { color: #546E7A } /* Generic.Output */
.highlight .gp { color: #FFCB6B } /* Generic.Prompt */
.highlight .gs { color: #FF5370 } /* Generic.Strong */
.highlight .gu { color: #89DDFF } /* Generic.Subheading */
.highlight .gt { color: #FF5370 } /* Generic.Traceback */
.highlight .kc { color: #89DDFF } /* Keyword.Constant */
.highlight .kd { color: #BB80B3 } /* Keyword.Declaration */
.highlight .kn { color: #89DDFF; font-style: italic } /* Keyword.Namespace */
.highlight .kp { color: #89DDFF } /* Keyword.Pseudo */
.highlight .kr { color: #BB80B3 } /* Keyword.Reserved */
.highlight .kt { color: #BB80B3 } /* Keyword.Type */
.highlight .ld { color: #C3E88D } /* Literal.Date */
.highlight .m { color: #F78C6C } /* Literal.Number */
.highlight .s { color: #C3E88D } /* Literal.String */
.highlight .na { color: #BB80B3 } /* Name.Attribute */
.highlight .nb { color: #82AAFF } /* Name.Builtin */
.highlight .nc { color: #FFCB6B } /* Name.Class */
.highlight .no { color: #EEFFFF } /* Name.Constant */
.highlight .nd { color: #82AAFF } /* Name.Decorator */
.highlight .ni { color: #89DDFF } /* Name.Entity */
.highlight .ne { color: #FFCB6B } /* Name.Exception */
.highlight .nf { color: #82AAFF } /* Name.Function */
.highlight .nl { color: #82AAFF } /* Name.Label */
.highlight .nn { color: #FFCB6B } /* Name.Namespace */
.highlight .nx { color: #EEFFFF } /* Name.Other */
.highlight .py { color: #FFCB6B } /* Name.Property */
.highlight .nt { color: #FF5370 } /* Name.Tag */
.highlight .nv { color: #89DDFF } /* Name.Variable */
.highlight .ow { color: #89DDFF; font-style: italic } /* Operator.Word */
.highlight .pm { color: #89DDFF } /* Punctuation.Marker */
.highlight .w { color: #EEFFFF } /* Text.Whitespace */
.highlight .mb { color: #F78C6C } /* Literal.Number.Bin */
.highlight .mf { color: #F78C6C } /* Literal.Number.Float */
.highlight .mh { color: #F78C6C } /* Literal.Number.Hex */
.highlight .mi { color: #F78C6C } /* Literal.Number.Integer */
.highlight .mo { color: #F78C6C } /* Literal.Number.Oct */
.highlight .sa { color: #BB80B3 } /* Literal.String.Affix */
.highlight .sb { color: #C3E88D } /* Literal.String.Backtick */
.highlight .sc { color: #C3E88D } /* Literal.String.Char */
.highlight .dl { color: #EEFFFF } /* Literal.String.Delimiter */
.highlight .sd { color: #546E7A; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #C3E88D } /* Literal.String.Double */
.highlight .se { color: #EEFFFF } /* Literal.String.Escape */
.highlight .sh { color: #C3E88D } /* Literal.String.Heredoc */
.highlight .si { color: #89DDFF } /* Literal.String.Interpol */
.highlight .sx { color: #C3E88D } /* Literal.String.Other */
.highlight .sr { color: #89DDFF } /* Literal.String.Regex */
.highlight .s1 { color: #C3E88D } /* Literal.String.Single */
.highlight .ss { color: #89DDFF } /* Literal.String.Symbol */
.highlight .bp { color: #89DDFF } /* Name.Builtin.Pseudo */
.highlight .fm { color: #82AAFF } /* Name.Function.Magic */
.highlight .vc { color: #89DDFF } /* Name.Variable.Class */
.highlight .vg { color: #89DDFF } /* Name.Variable.Global */
.highlight .vi { color: #89DDFF } /* Name.Variable.Instance */
.highlight .vm { color: #82AAFF } /* Name.Variable.Magic */
.highlight .il { color: #F78C6C } /* Literal.Number.Integer.Long */

85
static/css/monokai.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #49483e }
.highlight { background: #272822; color: #f8f8f2 }
.highlight .c { color: #959077 } /* Comment */
.highlight .err { color: #ed007e; background-color: #1e0010 } /* Error */
.highlight .esc { color: #f8f8f2 } /* Escape */
.highlight .g { color: #f8f8f2 } /* Generic */
.highlight .k { color: #66d9ef } /* Keyword */
.highlight .l { color: #ae81ff } /* Literal */
.highlight .n { color: #f8f8f2 } /* Name */
.highlight .o { color: #ff4689 } /* Operator */
.highlight .x { color: #f8f8f2 } /* Other */
.highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .ch { color: #959077 } /* Comment.Hashbang */
.highlight .cm { color: #959077 } /* Comment.Multiline */
.highlight .cp { color: #959077 } /* Comment.Preproc */
.highlight .cpf { color: #959077 } /* Comment.PreprocFile */
.highlight .c1 { color: #959077 } /* Comment.Single */
.highlight .cs { color: #959077 } /* Comment.Special */
.highlight .gd { color: #ff4689 } /* Generic.Deleted */
.highlight .ge { color: #f8f8f2; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #f8f8f2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #f8f8f2 } /* Generic.Error */
.highlight .gh { color: #f8f8f2 } /* Generic.Heading */
.highlight .gi { color: #a6e22e } /* Generic.Inserted */
.highlight .go { color: #66d9ef } /* Generic.Output */
.highlight .gp { color: #ff4689; font-weight: bold } /* Generic.Prompt */
.highlight .gs { color: #f8f8f2; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #959077 } /* Generic.Subheading */
.highlight .gt { color: #f8f8f2 } /* Generic.Traceback */
.highlight .kc { color: #66d9ef } /* Keyword.Constant */
.highlight .kd { color: #66d9ef } /* Keyword.Declaration */
.highlight .kn { color: #ff4689 } /* Keyword.Namespace */
.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */
.highlight .kr { color: #66d9ef } /* Keyword.Reserved */
.highlight .kt { color: #66d9ef } /* Keyword.Type */
.highlight .ld { color: #e6db74 } /* Literal.Date */
.highlight .m { color: #ae81ff } /* Literal.Number */
.highlight .s { color: #e6db74 } /* Literal.String */
.highlight .na { color: #a6e22e } /* Name.Attribute */
.highlight .nb { color: #f8f8f2 } /* Name.Builtin */
.highlight .nc { color: #a6e22e } /* Name.Class */
.highlight .no { color: #66d9ef } /* Name.Constant */
.highlight .nd { color: #a6e22e } /* Name.Decorator */
.highlight .ni { color: #f8f8f2 } /* Name.Entity */
.highlight .ne { color: #a6e22e } /* Name.Exception */
.highlight .nf { color: #a6e22e } /* Name.Function */
.highlight .nl { color: #f8f8f2 } /* Name.Label */
.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
.highlight .nx { color: #a6e22e } /* Name.Other */
.highlight .py { color: #f8f8f2 } /* Name.Property */
.highlight .nt { color: #ff4689 } /* Name.Tag */
.highlight .nv { color: #f8f8f2 } /* Name.Variable */
.highlight .ow { color: #ff4689 } /* Operator.Word */
.highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */
.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
.highlight .mb { color: #ae81ff } /* Literal.Number.Bin */
.highlight .mf { color: #ae81ff } /* Literal.Number.Float */
.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */
.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */
.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */
.highlight .sa { color: #e6db74 } /* Literal.String.Affix */
.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */
.highlight .sc { color: #e6db74 } /* Literal.String.Char */
.highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */
.highlight .sd { color: #e6db74 } /* Literal.String.Doc */
.highlight .s2 { color: #e6db74 } /* Literal.String.Double */
.highlight .se { color: #ae81ff } /* Literal.String.Escape */
.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */
.highlight .si { color: #e6db74 } /* Literal.String.Interpol */
.highlight .sx { color: #e6db74 } /* Literal.String.Other */
.highlight .sr { color: #e6db74 } /* Literal.String.Regex */
.highlight .s1 { color: #e6db74 } /* Literal.String.Single */
.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */
.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #a6e22e } /* Name.Function.Magic */
.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */
.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */
.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */
.highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */
.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */

75
static/css/murphy.css Normal file
View File

@ -0,0 +1,75 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #666666; font-style: italic } /* Comment */
.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
.highlight .k { color: #228899; font-weight: bold } /* Keyword */
.highlight .o { color: #333333 } /* Operator */
.highlight .ch { color: #666666; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #666666; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #557799 } /* Comment.Preproc */
.highlight .cpf { color: #666666; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #666666; font-style: italic } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #228899; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #228899; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #228899; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #0088ff; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #228899; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #6666ff; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #6600EE; font-weight: bold } /* Literal.Number */
.highlight .s { background-color: #e0e0ff } /* Literal.String */
.highlight .na { color: #000077 } /* Name.Attribute */
.highlight .nb { color: #007722 } /* Name.Builtin */
.highlight .nc { color: #ee99ee; font-weight: bold } /* Name.Class */
.highlight .no { color: #55eedd; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #880000 } /* Name.Entity */
.highlight .ne { color: #FF0000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #55eedd; font-weight: bold } /* Name.Function */
.highlight .nl { color: #997700; font-weight: bold } /* Name.Label */
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #007700 } /* Name.Tag */
.highlight .nv { color: #003366 } /* Name.Variable */
.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #6600EE; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #6600EE; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #005588; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #6666ff; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #4400EE; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { background-color: #e0e0ff } /* Literal.String.Affix */
.highlight .sb { background-color: #e0e0ff } /* Literal.String.Backtick */
.highlight .sc { color: #8888FF } /* Literal.String.Char */
.highlight .dl { background-color: #e0e0ff } /* Literal.String.Delimiter */
.highlight .sd { color: #DD4422 } /* Literal.String.Doc */
.highlight .s2 { background-color: #e0e0ff } /* Literal.String.Double */
.highlight .se { color: #666666; font-weight: bold; background-color: #e0e0ff } /* Literal.String.Escape */
.highlight .sh { background-color: #e0e0ff } /* Literal.String.Heredoc */
.highlight .si { background-color: #eeeeee } /* Literal.String.Interpol */
.highlight .sx { color: #ff8888; background-color: #e0e0ff } /* Literal.String.Other */
.highlight .sr { color: #000000; background-color: #e0e0ff } /* Literal.String.Regex */
.highlight .s1 { background-color: #e0e0ff } /* Literal.String.Single */
.highlight .ss { color: #ffcc88 } /* Literal.String.Symbol */
.highlight .bp { color: #007722 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #55eedd; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #ccccff } /* Name.Variable.Class */
.highlight .vg { color: #ff8844 } /* Name.Variable.Global */
.highlight .vi { color: #aaaaff } /* Name.Variable.Instance */
.highlight .vm { color: #003366 } /* Name.Variable.Magic */
.highlight .il { color: #6666ff; font-weight: bold } /* Literal.Number.Integer.Long */

85
static/css/native.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #404040 }
.highlight { background: #202020; color: #d0d0d0 }
.highlight .c { color: #ababab; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .esc { color: #d0d0d0 } /* Escape */
.highlight .g { color: #d0d0d0 } /* Generic */
.highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */
.highlight .l { color: #d0d0d0 } /* Literal */
.highlight .n { color: #d0d0d0 } /* Name */
.highlight .o { color: #d0d0d0 } /* Operator */
.highlight .x { color: #d0d0d0 } /* Other */
.highlight .p { color: #d0d0d0 } /* Punctuation */
.highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */
.highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
.highlight .gd { color: #ff3a3a } /* Generic.Deleted */
.highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #ff3a3a } /* Generic.Error */
.highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #589819 } /* Generic.Inserted */
.highlight .go { color: #cccccc } /* Generic.Output */
.highlight .gp { color: #aaaaaa } /* Generic.Prompt */
.highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
.highlight .gt { color: #ff3a3a } /* Generic.Traceback */
.highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */
.highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */
.highlight .ld { color: #d0d0d0 } /* Literal.Date */
.highlight .m { color: #51b2fd } /* Literal.Number */
.highlight .s { color: #ed9d13 } /* Literal.String */
.highlight .na { color: #bbbbbb } /* Name.Attribute */
.highlight .nb { color: #2fbccd } /* Name.Builtin */
.highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */
.highlight .no { color: #40ffff } /* Name.Constant */
.highlight .nd { color: #ffa500 } /* Name.Decorator */
.highlight .ni { color: #d0d0d0 } /* Name.Entity */
.highlight .ne { color: #bbbbbb } /* Name.Exception */
.highlight .nf { color: #71adff } /* Name.Function */
.highlight .nl { color: #d0d0d0 } /* Name.Label */
.highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */
.highlight .nx { color: #d0d0d0 } /* Name.Other */
.highlight .py { color: #d0d0d0 } /* Name.Property */
.highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #40ffff } /* Name.Variable */
.highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */
.highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */
.highlight .w { color: #666666 } /* Text.Whitespace */
.highlight .mb { color: #51b2fd } /* Literal.Number.Bin */
.highlight .mf { color: #51b2fd } /* Literal.Number.Float */
.highlight .mh { color: #51b2fd } /* Literal.Number.Hex */
.highlight .mi { color: #51b2fd } /* Literal.Number.Integer */
.highlight .mo { color: #51b2fd } /* Literal.Number.Oct */
.highlight .sa { color: #ed9d13 } /* Literal.String.Affix */
.highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */
.highlight .sc { color: #ed9d13 } /* Literal.String.Char */
.highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */
.highlight .sd { color: #ed9d13 } /* Literal.String.Doc */
.highlight .s2 { color: #ed9d13 } /* Literal.String.Double */
.highlight .se { color: #ed9d13 } /* Literal.String.Escape */
.highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */
.highlight .si { color: #ed9d13 } /* Literal.String.Interpol */
.highlight .sx { color: #ffa500 } /* Literal.String.Other */
.highlight .sr { color: #ed9d13 } /* Literal.String.Regex */
.highlight .s1 { color: #ed9d13 } /* Literal.String.Single */
.highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */
.highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */
.highlight .fm { color: #71adff } /* Name.Function.Magic */
.highlight .vc { color: #40ffff } /* Name.Variable.Class */
.highlight .vg { color: #40ffff } /* Name.Variable.Global */
.highlight .vi { color: #40ffff } /* Name.Variable.Instance */
.highlight .vm { color: #40ffff } /* Name.Variable.Magic */
.highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #3B4252 }
.highlight { background: #242933; color: #d8dee9 }
.highlight .c { color: #616e87; font-style: italic } /* Comment */
.highlight .err { color: #bf616a } /* Error */
.highlight .esc { color: #d8dee9 } /* Escape */
.highlight .g { color: #d8dee9 } /* Generic */
.highlight .k { color: #81a1c1; font-weight: bold } /* Keyword */
.highlight .l { color: #d8dee9 } /* Literal */
.highlight .n { color: #d8dee9 } /* Name */
.highlight .o { color: #81a1c1; font-weight: bold } /* Operator */
.highlight .x { color: #d8dee9 } /* Other */
.highlight .p { color: #eceff4 } /* Punctuation */
.highlight .ch { color: #616e87; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #616e87; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #5e81ac; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #616e87; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #616e87; font-style: italic } /* Comment.Single */
.highlight .cs { color: #616e87; font-style: italic } /* Comment.Special */
.highlight .gd { color: #bf616a } /* Generic.Deleted */
.highlight .ge { color: #d8dee9; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #d8dee9 } /* Generic.EmphStrong */
.highlight .gr { color: #bf616a } /* Generic.Error */
.highlight .gh { color: #88c0d0; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #a3be8c } /* Generic.Inserted */
.highlight .go { color: #d8dee9 } /* Generic.Output */
.highlight .gp { color: #616e88; font-weight: bold } /* Generic.Prompt */
.highlight .gs { color: #d8dee9; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #88c0d0; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #bf616a } /* Generic.Traceback */
.highlight .kc { color: #81a1c1; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #81a1c1; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #81a1c1; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #81a1c1 } /* Keyword.Pseudo */
.highlight .kr { color: #81a1c1; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #81a1c1 } /* Keyword.Type */
.highlight .ld { color: #d8dee9 } /* Literal.Date */
.highlight .m { color: #b48ead } /* Literal.Number */
.highlight .s { color: #a3be8c } /* Literal.String */
.highlight .na { color: #8fbcbb } /* Name.Attribute */
.highlight .nb { color: #81a1c1 } /* Name.Builtin */
.highlight .nc { color: #8fbcbb } /* Name.Class */
.highlight .no { color: #8fbcbb } /* Name.Constant */
.highlight .nd { color: #d08770 } /* Name.Decorator */
.highlight .ni { color: #d08770 } /* Name.Entity */
.highlight .ne { color: #bf616a } /* Name.Exception */
.highlight .nf { color: #88c0d0 } /* Name.Function */
.highlight .nl { color: #d8dee9 } /* Name.Label */
.highlight .nn { color: #8fbcbb } /* Name.Namespace */
.highlight .nx { color: #d8dee9 } /* Name.Other */
.highlight .py { color: #d8dee9 } /* Name.Property */
.highlight .nt { color: #81a1c1 } /* Name.Tag */
.highlight .nv { color: #d8dee9 } /* Name.Variable */
.highlight .ow { color: #81a1c1; font-weight: bold } /* Operator.Word */
.highlight .pm { color: #eceff4 } /* Punctuation.Marker */
.highlight .w { color: #d8dee9 } /* Text.Whitespace */
.highlight .mb { color: #b48ead } /* Literal.Number.Bin */
.highlight .mf { color: #b48ead } /* Literal.Number.Float */
.highlight .mh { color: #b48ead } /* Literal.Number.Hex */
.highlight .mi { color: #b48ead } /* Literal.Number.Integer */
.highlight .mo { color: #b48ead } /* Literal.Number.Oct */
.highlight .sa { color: #a3be8c } /* Literal.String.Affix */
.highlight .sb { color: #a3be8c } /* Literal.String.Backtick */
.highlight .sc { color: #a3be8c } /* Literal.String.Char */
.highlight .dl { color: #a3be8c } /* Literal.String.Delimiter */
.highlight .sd { color: #616e87 } /* Literal.String.Doc */
.highlight .s2 { color: #a3be8c } /* Literal.String.Double */
.highlight .se { color: #ebcb8b } /* Literal.String.Escape */
.highlight .sh { color: #a3be8c } /* Literal.String.Heredoc */
.highlight .si { color: #a3be8c } /* Literal.String.Interpol */
.highlight .sx { color: #a3be8c } /* Literal.String.Other */
.highlight .sr { color: #ebcb8b } /* Literal.String.Regex */
.highlight .s1 { color: #a3be8c } /* Literal.String.Single */
.highlight .ss { color: #a3be8c } /* Literal.String.Symbol */
.highlight .bp { color: #81a1c1 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #88c0d0 } /* Name.Function.Magic */
.highlight .vc { color: #d8dee9 } /* Name.Variable.Class */
.highlight .vg { color: #d8dee9 } /* Name.Variable.Global */
.highlight .vi { color: #d8dee9 } /* Name.Variable.Instance */
.highlight .vm { color: #d8dee9 } /* Name.Variable.Magic */
.highlight .il { color: #b48ead } /* Literal.Number.Integer.Long */

85
static/css/nord.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #D8DEE9; background-color: #242933; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #242933; background-color: #D8DEE9; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #3B4252 }
.highlight { background: #2E3440; color: #d8dee9 }
.highlight .c { color: #616e87; font-style: italic } /* Comment */
.highlight .err { color: #bf616a } /* Error */
.highlight .esc { color: #d8dee9 } /* Escape */
.highlight .g { color: #d8dee9 } /* Generic */
.highlight .k { color: #81a1c1; font-weight: bold } /* Keyword */
.highlight .l { color: #d8dee9 } /* Literal */
.highlight .n { color: #d8dee9 } /* Name */
.highlight .o { color: #81a1c1; font-weight: bold } /* Operator */
.highlight .x { color: #d8dee9 } /* Other */
.highlight .p { color: #eceff4 } /* Punctuation */
.highlight .ch { color: #616e87; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #616e87; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #5e81ac; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #616e87; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #616e87; font-style: italic } /* Comment.Single */
.highlight .cs { color: #616e87; font-style: italic } /* Comment.Special */
.highlight .gd { color: #bf616a } /* Generic.Deleted */
.highlight .ge { color: #d8dee9; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #d8dee9; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #bf616a } /* Generic.Error */
.highlight .gh { color: #88c0d0; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #a3be8c } /* Generic.Inserted */
.highlight .go { color: #d8dee9 } /* Generic.Output */
.highlight .gp { color: #616e88; font-weight: bold } /* Generic.Prompt */
.highlight .gs { color: #d8dee9; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #88c0d0; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #bf616a } /* Generic.Traceback */
.highlight .kc { color: #81a1c1; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #81a1c1; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #81a1c1; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #81a1c1 } /* Keyword.Pseudo */
.highlight .kr { color: #81a1c1; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #81a1c1 } /* Keyword.Type */
.highlight .ld { color: #d8dee9 } /* Literal.Date */
.highlight .m { color: #b48ead } /* Literal.Number */
.highlight .s { color: #a3be8c } /* Literal.String */
.highlight .na { color: #8fbcbb } /* Name.Attribute */
.highlight .nb { color: #81a1c1 } /* Name.Builtin */
.highlight .nc { color: #8fbcbb } /* Name.Class */
.highlight .no { color: #8fbcbb } /* Name.Constant */
.highlight .nd { color: #d08770 } /* Name.Decorator */
.highlight .ni { color: #d08770 } /* Name.Entity */
.highlight .ne { color: #bf616a } /* Name.Exception */
.highlight .nf { color: #88c0d0 } /* Name.Function */
.highlight .nl { color: #d8dee9 } /* Name.Label */
.highlight .nn { color: #8fbcbb } /* Name.Namespace */
.highlight .nx { color: #d8dee9 } /* Name.Other */
.highlight .py { color: #d8dee9 } /* Name.Property */
.highlight .nt { color: #81a1c1 } /* Name.Tag */
.highlight .nv { color: #d8dee9 } /* Name.Variable */
.highlight .ow { color: #81a1c1; font-weight: bold } /* Operator.Word */
.highlight .pm { color: #eceff4 } /* Punctuation.Marker */
.highlight .w { color: #d8dee9 } /* Text.Whitespace */
.highlight .mb { color: #b48ead } /* Literal.Number.Bin */
.highlight .mf { color: #b48ead } /* Literal.Number.Float */
.highlight .mh { color: #b48ead } /* Literal.Number.Hex */
.highlight .mi { color: #b48ead } /* Literal.Number.Integer */
.highlight .mo { color: #b48ead } /* Literal.Number.Oct */
.highlight .sa { color: #a3be8c } /* Literal.String.Affix */
.highlight .sb { color: #a3be8c } /* Literal.String.Backtick */
.highlight .sc { color: #a3be8c } /* Literal.String.Char */
.highlight .dl { color: #a3be8c } /* Literal.String.Delimiter */
.highlight .sd { color: #616e87 } /* Literal.String.Doc */
.highlight .s2 { color: #a3be8c } /* Literal.String.Double */
.highlight .se { color: #ebcb8b } /* Literal.String.Escape */
.highlight .sh { color: #a3be8c } /* Literal.String.Heredoc */
.highlight .si { color: #a3be8c } /* Literal.String.Interpol */
.highlight .sx { color: #a3be8c } /* Literal.String.Other */
.highlight .sr { color: #ebcb8b } /* Literal.String.Regex */
.highlight .s1 { color: #a3be8c } /* Literal.String.Single */
.highlight .ss { color: #a3be8c } /* Literal.String.Symbol */
.highlight .bp { color: #81a1c1 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #88c0d0 } /* Name.Function.Magic */
.highlight .vc { color: #d8dee9 } /* Name.Variable.Class */
.highlight .vg { color: #d8dee9 } /* Name.Variable.Global */
.highlight .vi { color: #d8dee9 } /* Name.Variable.Instance */
.highlight .vm { color: #d8dee9 } /* Name.Variable.Magic */
.highlight .il { color: #b48ead } /* Literal.Number.Integer.Long */

85
static/css/one-dark.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #282C34; color: #ABB2BF }
.highlight .c { color: #7F848E } /* Comment */
.highlight .err { color: #ABB2BF } /* Error */
.highlight .esc { color: #ABB2BF } /* Escape */
.highlight .g { color: #ABB2BF } /* Generic */
.highlight .k { color: #C678DD } /* Keyword */
.highlight .l { color: #ABB2BF } /* Literal */
.highlight .n { color: #E06C75 } /* Name */
.highlight .o { color: #56B6C2 } /* Operator */
.highlight .x { color: #ABB2BF } /* Other */
.highlight .p { color: #ABB2BF } /* Punctuation */
.highlight .ch { color: #7F848E } /* Comment.Hashbang */
.highlight .cm { color: #7F848E } /* Comment.Multiline */
.highlight .cp { color: #7F848E } /* Comment.Preproc */
.highlight .cpf { color: #7F848E } /* Comment.PreprocFile */
.highlight .c1 { color: #7F848E } /* Comment.Single */
.highlight .cs { color: #7F848E } /* Comment.Special */
.highlight .gd { color: #ABB2BF } /* Generic.Deleted */
.highlight .ge { color: #ABB2BF } /* Generic.Emph */
.highlight .ges { color: #ABB2BF } /* Generic.EmphStrong */
.highlight .gr { color: #ABB2BF } /* Generic.Error */
.highlight .gh { color: #ABB2BF } /* Generic.Heading */
.highlight .gi { color: #ABB2BF } /* Generic.Inserted */
.highlight .go { color: #ABB2BF } /* Generic.Output */
.highlight .gp { color: #ABB2BF } /* Generic.Prompt */
.highlight .gs { color: #ABB2BF } /* Generic.Strong */
.highlight .gu { color: #ABB2BF } /* Generic.Subheading */
.highlight .gt { color: #ABB2BF } /* Generic.Traceback */
.highlight .kc { color: #E5C07B } /* Keyword.Constant */
.highlight .kd { color: #C678DD } /* Keyword.Declaration */
.highlight .kn { color: #C678DD } /* Keyword.Namespace */
.highlight .kp { color: #C678DD } /* Keyword.Pseudo */
.highlight .kr { color: #C678DD } /* Keyword.Reserved */
.highlight .kt { color: #E5C07B } /* Keyword.Type */
.highlight .ld { color: #ABB2BF } /* Literal.Date */
.highlight .m { color: #D19A66 } /* Literal.Number */
.highlight .s { color: #98C379 } /* Literal.String */
.highlight .na { color: #E06C75 } /* Name.Attribute */
.highlight .nb { color: #E5C07B } /* Name.Builtin */
.highlight .nc { color: #E5C07B } /* Name.Class */
.highlight .no { color: #E06C75 } /* Name.Constant */
.highlight .nd { color: #61AFEF } /* Name.Decorator */
.highlight .ni { color: #E06C75 } /* Name.Entity */
.highlight .ne { color: #E06C75 } /* Name.Exception */
.highlight .nf { color: #61AFEF; font-weight: bold } /* Name.Function */
.highlight .nl { color: #E06C75 } /* Name.Label */
.highlight .nn { color: #E06C75 } /* Name.Namespace */
.highlight .nx { color: #E06C75 } /* Name.Other */
.highlight .py { color: #E06C75 } /* Name.Property */
.highlight .nt { color: #E06C75 } /* Name.Tag */
.highlight .nv { color: #E06C75 } /* Name.Variable */
.highlight .ow { color: #56B6C2 } /* Operator.Word */
.highlight .pm { color: #ABB2BF } /* Punctuation.Marker */
.highlight .w { color: #ABB2BF } /* Text.Whitespace */
.highlight .mb { color: #D19A66 } /* Literal.Number.Bin */
.highlight .mf { color: #D19A66 } /* Literal.Number.Float */
.highlight .mh { color: #D19A66 } /* Literal.Number.Hex */
.highlight .mi { color: #D19A66 } /* Literal.Number.Integer */
.highlight .mo { color: #D19A66 } /* Literal.Number.Oct */
.highlight .sa { color: #98C379 } /* Literal.String.Affix */
.highlight .sb { color: #98C379 } /* Literal.String.Backtick */
.highlight .sc { color: #98C379 } /* Literal.String.Char */
.highlight .dl { color: #98C379 } /* Literal.String.Delimiter */
.highlight .sd { color: #98C379 } /* Literal.String.Doc */
.highlight .s2 { color: #98C379 } /* Literal.String.Double */
.highlight .se { color: #98C379 } /* Literal.String.Escape */
.highlight .sh { color: #98C379 } /* Literal.String.Heredoc */
.highlight .si { color: #98C379 } /* Literal.String.Interpol */
.highlight .sx { color: #98C379 } /* Literal.String.Other */
.highlight .sr { color: #98C379 } /* Literal.String.Regex */
.highlight .s1 { color: #98C379 } /* Literal.String.Single */
.highlight .ss { color: #98C379 } /* Literal.String.Symbol */
.highlight .bp { color: #E5C07B } /* Name.Builtin.Pseudo */
.highlight .fm { color: #56B6C2; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #E06C75 } /* Name.Variable.Class */
.highlight .vg { color: #E06C75 } /* Name.Variable.Global */
.highlight .vi { color: #E06C75 } /* Name.Variable.Instance */
.highlight .vm { color: #E06C75 } /* Name.Variable.Magic */
.highlight .il { color: #D19A66 } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,79 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #4f424c }
.highlight { background: #2f1e2e; color: #e7e9db }
.highlight .c { color: #776e71 } /* Comment */
.highlight .err { color: #ef6155 } /* Error */
.highlight .k { color: #815ba4 } /* Keyword */
.highlight .l { color: #f99b15 } /* Literal */
.highlight .n { color: #e7e9db } /* Name */
.highlight .o { color: #5bc4bf } /* Operator */
.highlight .p { color: #e7e9db } /* Punctuation */
.highlight .ch { color: #776e71 } /* Comment.Hashbang */
.highlight .cm { color: #776e71 } /* Comment.Multiline */
.highlight .cp { color: #776e71 } /* Comment.Preproc */
.highlight .cpf { color: #776e71 } /* Comment.PreprocFile */
.highlight .c1 { color: #776e71 } /* Comment.Single */
.highlight .cs { color: #776e71 } /* Comment.Special */
.highlight .gd { color: #ef6155 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gh { color: #e7e9db; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #48b685 } /* Generic.Inserted */
.highlight .gp { color: #776e71; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #5bc4bf; font-weight: bold } /* Generic.Subheading */
.highlight .kc { color: #815ba4 } /* Keyword.Constant */
.highlight .kd { color: #815ba4 } /* Keyword.Declaration */
.highlight .kn { color: #5bc4bf } /* Keyword.Namespace */
.highlight .kp { color: #815ba4 } /* Keyword.Pseudo */
.highlight .kr { color: #815ba4 } /* Keyword.Reserved */
.highlight .kt { color: #fec418 } /* Keyword.Type */
.highlight .ld { color: #48b685 } /* Literal.Date */
.highlight .m { color: #f99b15 } /* Literal.Number */
.highlight .s { color: #48b685 } /* Literal.String */
.highlight .na { color: #06b6ef } /* Name.Attribute */
.highlight .nb { color: #e7e9db } /* Name.Builtin */
.highlight .nc { color: #fec418 } /* Name.Class */
.highlight .no { color: #ef6155 } /* Name.Constant */
.highlight .nd { color: #5bc4bf } /* Name.Decorator */
.highlight .ni { color: #e7e9db } /* Name.Entity */
.highlight .ne { color: #ef6155 } /* Name.Exception */
.highlight .nf { color: #06b6ef } /* Name.Function */
.highlight .nl { color: #e7e9db } /* Name.Label */
.highlight .nn { color: #fec418 } /* Name.Namespace */
.highlight .nx { color: #06b6ef } /* Name.Other */
.highlight .py { color: #e7e9db } /* Name.Property */
.highlight .nt { color: #5bc4bf } /* Name.Tag */
.highlight .nv { color: #ef6155 } /* Name.Variable */
.highlight .ow { color: #5bc4bf } /* Operator.Word */
.highlight .pm { color: #e7e9db } /* Punctuation.Marker */
.highlight .w { color: #e7e9db } /* Text.Whitespace */
.highlight .mb { color: #f99b15 } /* Literal.Number.Bin */
.highlight .mf { color: #f99b15 } /* Literal.Number.Float */
.highlight .mh { color: #f99b15 } /* Literal.Number.Hex */
.highlight .mi { color: #f99b15 } /* Literal.Number.Integer */
.highlight .mo { color: #f99b15 } /* Literal.Number.Oct */
.highlight .sa { color: #48b685 } /* Literal.String.Affix */
.highlight .sb { color: #48b685 } /* Literal.String.Backtick */
.highlight .sc { color: #e7e9db } /* Literal.String.Char */
.highlight .dl { color: #48b685 } /* Literal.String.Delimiter */
.highlight .sd { color: #776e71 } /* Literal.String.Doc */
.highlight .s2 { color: #48b685 } /* Literal.String.Double */
.highlight .se { color: #f99b15 } /* Literal.String.Escape */
.highlight .sh { color: #48b685 } /* Literal.String.Heredoc */
.highlight .si { color: #f99b15 } /* Literal.String.Interpol */
.highlight .sx { color: #48b685 } /* Literal.String.Other */
.highlight .sr { color: #48b685 } /* Literal.String.Regex */
.highlight .s1 { color: #48b685 } /* Literal.String.Single */
.highlight .ss { color: #48b685 } /* Literal.String.Symbol */
.highlight .bp { color: #e7e9db } /* Name.Builtin.Pseudo */
.highlight .fm { color: #06b6ef } /* Name.Function.Magic */
.highlight .vc { color: #ef6155 } /* Name.Variable.Class */
.highlight .vg { color: #ef6155 } /* Name.Variable.Global */
.highlight .vi { color: #ef6155 } /* Name.Variable.Instance */
.highlight .vm { color: #ef6155 } /* Name.Variable.Magic */
.highlight .il { color: #f99b15 } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,79 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #a39e9b }
.highlight { background: #e7e9db; color: #2f1e2e }
.highlight .c { color: #8d8687 } /* Comment */
.highlight .err { color: #ef6155 } /* Error */
.highlight .k { color: #815ba4 } /* Keyword */
.highlight .l { color: #f99b15 } /* Literal */
.highlight .n { color: #2f1e2e } /* Name */
.highlight .o { color: #5bc4bf } /* Operator */
.highlight .p { color: #2f1e2e } /* Punctuation */
.highlight .ch { color: #8d8687 } /* Comment.Hashbang */
.highlight .cm { color: #8d8687 } /* Comment.Multiline */
.highlight .cp { color: #8d8687 } /* Comment.Preproc */
.highlight .cpf { color: #8d8687 } /* Comment.PreprocFile */
.highlight .c1 { color: #8d8687 } /* Comment.Single */
.highlight .cs { color: #8d8687 } /* Comment.Special */
.highlight .gd { color: #ef6155 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gh { color: #2f1e2e; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #48b685 } /* Generic.Inserted */
.highlight .gp { color: #8d8687; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #5bc4bf; font-weight: bold } /* Generic.Subheading */
.highlight .kc { color: #815ba4 } /* Keyword.Constant */
.highlight .kd { color: #815ba4 } /* Keyword.Declaration */
.highlight .kn { color: #5bc4bf } /* Keyword.Namespace */
.highlight .kp { color: #815ba4 } /* Keyword.Pseudo */
.highlight .kr { color: #815ba4 } /* Keyword.Reserved */
.highlight .kt { color: #fec418 } /* Keyword.Type */
.highlight .ld { color: #48b685 } /* Literal.Date */
.highlight .m { color: #f99b15 } /* Literal.Number */
.highlight .s { color: #48b685 } /* Literal.String */
.highlight .na { color: #06b6ef } /* Name.Attribute */
.highlight .nb { color: #2f1e2e } /* Name.Builtin */
.highlight .nc { color: #fec418 } /* Name.Class */
.highlight .no { color: #ef6155 } /* Name.Constant */
.highlight .nd { color: #5bc4bf } /* Name.Decorator */
.highlight .ni { color: #2f1e2e } /* Name.Entity */
.highlight .ne { color: #ef6155 } /* Name.Exception */
.highlight .nf { color: #06b6ef } /* Name.Function */
.highlight .nl { color: #2f1e2e } /* Name.Label */
.highlight .nn { color: #fec418 } /* Name.Namespace */
.highlight .nx { color: #06b6ef } /* Name.Other */
.highlight .py { color: #2f1e2e } /* Name.Property */
.highlight .nt { color: #5bc4bf } /* Name.Tag */
.highlight .nv { color: #ef6155 } /* Name.Variable */
.highlight .ow { color: #5bc4bf } /* Operator.Word */
.highlight .pm { color: #2f1e2e } /* Punctuation.Marker */
.highlight .w { color: #2f1e2e } /* Text.Whitespace */
.highlight .mb { color: #f99b15 } /* Literal.Number.Bin */
.highlight .mf { color: #f99b15 } /* Literal.Number.Float */
.highlight .mh { color: #f99b15 } /* Literal.Number.Hex */
.highlight .mi { color: #f99b15 } /* Literal.Number.Integer */
.highlight .mo { color: #f99b15 } /* Literal.Number.Oct */
.highlight .sa { color: #48b685 } /* Literal.String.Affix */
.highlight .sb { color: #48b685 } /* Literal.String.Backtick */
.highlight .sc { color: #2f1e2e } /* Literal.String.Char */
.highlight .dl { color: #48b685 } /* Literal.String.Delimiter */
.highlight .sd { color: #8d8687 } /* Literal.String.Doc */
.highlight .s2 { color: #48b685 } /* Literal.String.Double */
.highlight .se { color: #f99b15 } /* Literal.String.Escape */
.highlight .sh { color: #48b685 } /* Literal.String.Heredoc */
.highlight .si { color: #f99b15 } /* Literal.String.Interpol */
.highlight .sx { color: #48b685 } /* Literal.String.Other */
.highlight .sr { color: #48b685 } /* Literal.String.Regex */
.highlight .s1 { color: #48b685 } /* Literal.String.Single */
.highlight .ss { color: #48b685 } /* Literal.String.Symbol */
.highlight .bp { color: #2f1e2e } /* Name.Builtin.Pseudo */
.highlight .fm { color: #06b6ef } /* Name.Function.Magic */
.highlight .vc { color: #ef6155 } /* Name.Variable.Class */
.highlight .vg { color: #ef6155 } /* Name.Variable.Global */
.highlight .vi { color: #ef6155 } /* Name.Variable.Instance */
.highlight .vm { color: #ef6155 } /* Name.Variable.Magic */
.highlight .il { color: #f99b15 } /* Literal.Number.Integer.Long */

74
static/css/pastie.css Normal file
View File

@ -0,0 +1,74 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */

72
static/css/perldoc.css Normal file
View File

@ -0,0 +1,72 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #eeeedd; }
.highlight .c { color: #228B22 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #8B008B; font-weight: bold } /* Keyword */
.highlight .ch { color: #228B22 } /* Comment.Hashbang */
.highlight .cm { color: #228B22 } /* Comment.Multiline */
.highlight .cp { color: #1e889b } /* Comment.Preproc */
.highlight .cpf { color: #228B22 } /* Comment.PreprocFile */
.highlight .c1 { color: #228B22 } /* Comment.Single */
.highlight .cs { color: #8B008B; font-weight: bold } /* Comment.Special */
.highlight .gd { color: #aa0000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00aa00 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #8B008B; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #8B008B; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #8B008B; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #8B008B; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #8B008B; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #00688B; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #B452CD } /* Literal.Number */
.highlight .s { color: #CD5555 } /* Literal.String */
.highlight .na { color: #658b00 } /* Name.Attribute */
.highlight .nb { color: #658b00 } /* Name.Builtin */
.highlight .nc { color: #008b45; font-weight: bold } /* Name.Class */
.highlight .no { color: #00688B } /* Name.Constant */
.highlight .nd { color: #707a7c } /* Name.Decorator */
.highlight .ne { color: #008b45; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #008b45 } /* Name.Function */
.highlight .nn { color: #008b45; text-decoration: underline } /* Name.Namespace */
.highlight .nt { color: #8B008B; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #00688B } /* Name.Variable */
.highlight .ow { color: #8B008B } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #B452CD } /* Literal.Number.Bin */
.highlight .mf { color: #B452CD } /* Literal.Number.Float */
.highlight .mh { color: #B452CD } /* Literal.Number.Hex */
.highlight .mi { color: #B452CD } /* Literal.Number.Integer */
.highlight .mo { color: #B452CD } /* Literal.Number.Oct */
.highlight .sa { color: #CD5555 } /* Literal.String.Affix */
.highlight .sb { color: #CD5555 } /* Literal.String.Backtick */
.highlight .sc { color: #CD5555 } /* Literal.String.Char */
.highlight .dl { color: #CD5555 } /* Literal.String.Delimiter */
.highlight .sd { color: #CD5555 } /* Literal.String.Doc */
.highlight .s2 { color: #CD5555 } /* Literal.String.Double */
.highlight .se { color: #CD5555 } /* Literal.String.Escape */
.highlight .sh { color: #1c7e71; font-style: italic } /* Literal.String.Heredoc */
.highlight .si { color: #CD5555 } /* Literal.String.Interpol */
.highlight .sx { color: #cb6c20 } /* Literal.String.Other */
.highlight .sr { color: #1c7e71 } /* Literal.String.Regex */
.highlight .s1 { color: #CD5555 } /* Literal.String.Single */
.highlight .ss { color: #CD5555 } /* Literal.String.Symbol */
.highlight .bp { color: #658b00 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #008b45 } /* Name.Function.Magic */
.highlight .vc { color: #00688B } /* Name.Variable.Class */
.highlight .vg { color: #00688B } /* Name.Variable.Global */
.highlight .vi { color: #00688B } /* Name.Variable.Instance */
.highlight .vm { color: #00688B } /* Name.Variable.Magic */
.highlight .il { color: #B452CD } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,84 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.hll { background-color: #49483e }
.c { color: #959077 } /* Comment */
.err { color: #ed007e; background-color: #1e0010 } /* Error */
.esc { color: #f8f8f2 } /* Escape */
.g { color: #f8f8f2 } /* Generic */
.k { color: #66d9ef } /* Keyword */
.l { color: #ae81ff } /* Literal */
.n { color: #f8f8f2 } /* Name */
.o { color: #ff4689 } /* Operator */
.x { color: #f8f8f2 } /* Other */
.p { color: #f8f8f2 } /* Punctuation */
.ch { color: #959077 } /* Comment.Hashbang */
.cm { color: #959077 } /* Comment.Multiline */
.cp { color: #959077 } /* Comment.Preproc */
.cpf { color: #959077 } /* Comment.PreprocFile */
.c1 { color: #959077 } /* Comment.Single */
.cs { color: #959077 } /* Comment.Special */
.gd { color: #ff4689 } /* Generic.Deleted */
.ge { color: #f8f8f2; font-style: italic } /* Generic.Emph */
.ges { color: #f8f8f2; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.gr { color: #f8f8f2 } /* Generic.Error */
.gh { color: #f8f8f2 } /* Generic.Heading */
.gi { color: #a6e22e } /* Generic.Inserted */
.go { color: #66d9ef } /* Generic.Output */
.gp { color: #ff4689; font-weight: bold } /* Generic.Prompt */
.gs { color: #f8f8f2; font-weight: bold } /* Generic.Strong */
.gu { color: #959077 } /* Generic.Subheading */
.gt { color: #f8f8f2 } /* Generic.Traceback */
.kc { color: #66d9ef } /* Keyword.Constant */
.kd { color: #66d9ef } /* Keyword.Declaration */
.kn { color: #ff4689 } /* Keyword.Namespace */
.kp { color: #66d9ef } /* Keyword.Pseudo */
.kr { color: #66d9ef } /* Keyword.Reserved */
.kt { color: #66d9ef } /* Keyword.Type */
.ld { color: #e6db74 } /* Literal.Date */
.m { color: #ae81ff } /* Literal.Number */
.s { color: #e6db74 } /* Literal.String */
.na { color: #a6e22e } /* Name.Attribute */
.nb { color: #f8f8f2 } /* Name.Builtin */
.nc { color: #a6e22e } /* Name.Class */
.no { color: #66d9ef } /* Name.Constant */
.nd { color: #a6e22e } /* Name.Decorator */
.ni { color: #f8f8f2 } /* Name.Entity */
.ne { color: #a6e22e } /* Name.Exception */
.nf { color: #a6e22e } /* Name.Function */
.nl { color: #f8f8f2 } /* Name.Label */
.nn { color: #f8f8f2 } /* Name.Namespace */
.nx { color: #a6e22e } /* Name.Other */
.py { color: #f8f8f2 } /* Name.Property */
.nt { color: #ff4689 } /* Name.Tag */
.nv { color: #f8f8f2 } /* Name.Variable */
.ow { color: #ff4689 } /* Operator.Word */
.pm { color: #f8f8f2 } /* Punctuation.Marker */
.w { color: #f8f8f2 } /* Text.Whitespace */
.mb { color: #ae81ff } /* Literal.Number.Bin */
.mf { color: #ae81ff } /* Literal.Number.Float */
.mh { color: #ae81ff } /* Literal.Number.Hex */
.mi { color: #ae81ff } /* Literal.Number.Integer */
.mo { color: #ae81ff } /* Literal.Number.Oct */
.sa { color: #e6db74 } /* Literal.String.Affix */
.sb { color: #e6db74 } /* Literal.String.Backtick */
.sc { color: #e6db74 } /* Literal.String.Char */
.dl { color: #e6db74 } /* Literal.String.Delimiter */
.sd { color: #e6db74 } /* Literal.String.Doc */
.s2 { color: #e6db74 } /* Literal.String.Double */
.se { color: #ae81ff } /* Literal.String.Escape */
.sh { color: #e6db74 } /* Literal.String.Heredoc */
.si { color: #e6db74 } /* Literal.String.Interpol */
.sx { color: #e6db74 } /* Literal.String.Other */
.sr { color: #e6db74 } /* Literal.String.Regex */
.s1 { color: #e6db74 } /* Literal.String.Single */
.ss { color: #e6db74 } /* Literal.String.Symbol */
.bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
.fm { color: #a6e22e } /* Name.Function.Magic */
.vc { color: #f8f8f2 } /* Name.Variable.Class */
.vg { color: #f8f8f2 } /* Name.Variable.Global */
.vi { color: #f8f8f2 } /* Name.Variable.Instance */
.vm { color: #f8f8f2 } /* Name.Variable.Magic */
.il { color: #ae81ff } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,68 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; color: #4d4d4d }
.highlight .c { color: #0080ff; font-style: italic } /* Comment */
.highlight .err { color: #ffffff; background-color: #cc0000 } /* Error */
.highlight .k { color: #2c5dcd; font-weight: bold } /* Keyword */
.highlight .o { color: #2c5dcd } /* Operator */
.highlight .ch { color: #0080ff; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #0080ff; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #0080ff } /* Comment.Preproc */
.highlight .cpf { color: #0080ff; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #0080ff; font-style: italic } /* Comment.Single */
.highlight .cs { color: #0080ff; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { background-color: #ffcccc; border: 1px solid #c5060b } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #ff0000 } /* Generic.Error */
.highlight .gh { color: #2c5dcd; font-weight: bold } /* Generic.Heading */
.highlight .gi { background-color: #ccffcc; border: 1px solid #00cc00 } /* Generic.Inserted */
.highlight .go { color: #aaaaaa } /* Generic.Output */
.highlight .gp { color: #2c5dcd; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #2c5dcd; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #c5060b } /* Generic.Traceback */
.highlight .kc { color: #2c5dcd; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #2c5dcd; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #2c5dcd; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #2c5dcd } /* Keyword.Pseudo */
.highlight .kr { color: #2c5dcd; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #5918bb; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #5918bb; font-weight: bold } /* Literal.Number */
.highlight .s { color: #00cc66 } /* Literal.String */
.highlight .na { color: #2c5dcd; font-style: italic } /* Name.Attribute */
.highlight .nb { color: #5918bb; font-weight: bold } /* Name.Builtin */
.highlight .nc { text-decoration: underline } /* Name.Class */
.highlight .no { color: #318495 } /* Name.Constant */
.highlight .nd { color: #ff8000; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #5918bb; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #5918bb; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #ff8000; font-weight: bold } /* Name.Function */
.highlight .nt { color: #2c5dcd; font-weight: bold } /* Name.Tag */
.highlight .ow { color: #2c5dcd; font-weight: bold } /* Operator.Word */
.highlight .w { color: #cbcbcb } /* Text.Whitespace */
.highlight .mb { color: #5918bb; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #5918bb; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #5918bb; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #5918bb; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #5918bb; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #00cc66 } /* Literal.String.Affix */
.highlight .sb { color: #00cc66 } /* Literal.String.Backtick */
.highlight .sc { color: #00cc66 } /* Literal.String.Char */
.highlight .dl { color: #00cc66 } /* Literal.String.Delimiter */
.highlight .sd { color: #00cc66; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #00cc66 } /* Literal.String.Double */
.highlight .se { color: #c5060b; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #00cc66 } /* Literal.String.Heredoc */
.highlight .si { color: #00cc66 } /* Literal.String.Interpol */
.highlight .sx { color: #318495 } /* Literal.String.Other */
.highlight .sr { color: #00cc66 } /* Literal.String.Regex */
.highlight .s1 { color: #00cc66 } /* Literal.String.Single */
.highlight .ss { color: #c5060b; font-weight: bold } /* Literal.String.Symbol */
.highlight .bp { color: #5918bb; font-weight: bold } /* Name.Builtin.Pseudo */
.highlight .fm { color: #ff8000; font-weight: bold } /* Name.Function.Magic */
.highlight .il { color: #5918bb; font-weight: bold } /* Literal.Number.Integer.Long */

85
static/css/rrt.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #0000ff }
.highlight { background: #000000; color: #dddddd }
.highlight .c { color: #00ff00 } /* Comment */
.highlight .err { color: #dddddd } /* Error */
.highlight .esc { color: #dddddd } /* Escape */
.highlight .g { color: #dddddd } /* Generic */
.highlight .k { color: #ff0000 } /* Keyword */
.highlight .l { color: #dddddd } /* Literal */
.highlight .n { color: #dddddd } /* Name */
.highlight .o { color: #dddddd } /* Operator */
.highlight .x { color: #dddddd } /* Other */
.highlight .p { color: #dddddd } /* Punctuation */
.highlight .ch { color: #00ff00 } /* Comment.Hashbang */
.highlight .cm { color: #00ff00 } /* Comment.Multiline */
.highlight .cp { color: #e5e5e5 } /* Comment.Preproc */
.highlight .cpf { color: #00ff00 } /* Comment.PreprocFile */
.highlight .c1 { color: #00ff00 } /* Comment.Single */
.highlight .cs { color: #00ff00 } /* Comment.Special */
.highlight .gd { color: #dddddd } /* Generic.Deleted */
.highlight .ge { color: #dddddd } /* Generic.Emph */
.highlight .ges { color: #dddddd } /* Generic.EmphStrong */
.highlight .gr { color: #dddddd } /* Generic.Error */
.highlight .gh { color: #dddddd } /* Generic.Heading */
.highlight .gi { color: #dddddd } /* Generic.Inserted */
.highlight .go { color: #dddddd } /* Generic.Output */
.highlight .gp { color: #dddddd } /* Generic.Prompt */
.highlight .gs { color: #dddddd } /* Generic.Strong */
.highlight .gu { color: #dddddd } /* Generic.Subheading */
.highlight .gt { color: #dddddd } /* Generic.Traceback */
.highlight .kc { color: #ff0000 } /* Keyword.Constant */
.highlight .kd { color: #ff0000 } /* Keyword.Declaration */
.highlight .kn { color: #ff0000 } /* Keyword.Namespace */
.highlight .kp { color: #ff0000 } /* Keyword.Pseudo */
.highlight .kr { color: #ff0000 } /* Keyword.Reserved */
.highlight .kt { color: #ee82ee } /* Keyword.Type */
.highlight .ld { color: #dddddd } /* Literal.Date */
.highlight .m { color: #ff00ff } /* Literal.Number */
.highlight .s { color: #87ceeb } /* Literal.String */
.highlight .na { color: #dddddd } /* Name.Attribute */
.highlight .nb { color: #dddddd } /* Name.Builtin */
.highlight .nc { color: #dddddd } /* Name.Class */
.highlight .no { color: #7fffd4 } /* Name.Constant */
.highlight .nd { color: #dddddd } /* Name.Decorator */
.highlight .ni { color: #dddddd } /* Name.Entity */
.highlight .ne { color: #dddddd } /* Name.Exception */
.highlight .nf { color: #ffff00 } /* Name.Function */
.highlight .nl { color: #dddddd } /* Name.Label */
.highlight .nn { color: #dddddd } /* Name.Namespace */
.highlight .nx { color: #dddddd } /* Name.Other */
.highlight .py { color: #dddddd } /* Name.Property */
.highlight .nt { color: #dddddd } /* Name.Tag */
.highlight .nv { color: #eedd82 } /* Name.Variable */
.highlight .ow { color: #dddddd } /* Operator.Word */
.highlight .pm { color: #dddddd } /* Punctuation.Marker */
.highlight .w { color: #dddddd } /* Text.Whitespace */
.highlight .mb { color: #ff00ff } /* Literal.Number.Bin */
.highlight .mf { color: #ff00ff } /* Literal.Number.Float */
.highlight .mh { color: #ff00ff } /* Literal.Number.Hex */
.highlight .mi { color: #ff00ff } /* Literal.Number.Integer */
.highlight .mo { color: #ff00ff } /* Literal.Number.Oct */
.highlight .sa { color: #87ceeb } /* Literal.String.Affix */
.highlight .sb { color: #87ceeb } /* Literal.String.Backtick */
.highlight .sc { color: #87ceeb } /* Literal.String.Char */
.highlight .dl { color: #87ceeb } /* Literal.String.Delimiter */
.highlight .sd { color: #87ceeb } /* Literal.String.Doc */
.highlight .s2 { color: #87ceeb } /* Literal.String.Double */
.highlight .se { color: #87ceeb } /* Literal.String.Escape */
.highlight .sh { color: #87ceeb } /* Literal.String.Heredoc */
.highlight .si { color: #87ceeb } /* Literal.String.Interpol */
.highlight .sx { color: #87ceeb } /* Literal.String.Other */
.highlight .sr { color: #87ceeb } /* Literal.String.Regex */
.highlight .s1 { color: #87ceeb } /* Literal.String.Single */
.highlight .ss { color: #87ceeb } /* Literal.String.Symbol */
.highlight .bp { color: #dddddd } /* Name.Builtin.Pseudo */
.highlight .fm { color: #ffff00 } /* Name.Function.Magic */
.highlight .vc { color: #eedd82 } /* Name.Variable.Class */
.highlight .vg { color: #eedd82 } /* Name.Variable.Global */
.highlight .vi { color: #eedd82 } /* Name.Variable.Instance */
.highlight .vm { color: #eedd82 } /* Name.Variable.Magic */
.highlight .il { color: #ff00ff } /* Literal.Number.Integer.Long */

66
static/css/sas.css Normal file
View File

@ -0,0 +1,66 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #008800; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .g { color: #2c2cff } /* Generic */
.highlight .k { color: #2c2cff } /* Keyword */
.highlight .x { background-color: #ffffe0 } /* Other */
.highlight .ch { color: #008800; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #008800; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #008800; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #008800; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #008800; font-style: italic } /* Comment.Single */
.highlight .cs { color: #008800; font-style: italic } /* Comment.Special */
.highlight .gd { color: #2c2cff } /* Generic.Deleted */
.highlight .ge { color: #008800 } /* Generic.Emph */
.highlight .ges { color: #2c2cff } /* Generic.EmphStrong */
.highlight .gr { color: #d30202 } /* Generic.Error */
.highlight .gh { color: #2c2cff } /* Generic.Heading */
.highlight .gi { color: #2c2cff } /* Generic.Inserted */
.highlight .go { color: #2c2cff } /* Generic.Output */
.highlight .gp { color: #2c2cff } /* Generic.Prompt */
.highlight .gs { color: #2c2cff } /* Generic.Strong */
.highlight .gu { color: #2c2cff } /* Generic.Subheading */
.highlight .gt { color: #2c2cff } /* Generic.Traceback */
.highlight .kc { color: #2c2cff; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #2c2cff } /* Keyword.Declaration */
.highlight .kn { color: #2c2cff } /* Keyword.Namespace */
.highlight .kp { color: #2c2cff } /* Keyword.Pseudo */
.highlight .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #2c2cff } /* Keyword.Type */
.highlight .m { color: #2c8553; font-weight: bold } /* Literal.Number */
.highlight .s { color: #800080 } /* Literal.String */
.highlight .nb { color: #2c2cff } /* Name.Builtin */
.highlight .nf { font-weight: bold; font-style: italic } /* Name.Function */
.highlight .nv { color: #2c2cff; font-weight: bold } /* Name.Variable */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #2c8553; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #2c8553; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #2c8553; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #2c8553; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #2c8553; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #800080 } /* Literal.String.Affix */
.highlight .sb { color: #800080 } /* Literal.String.Backtick */
.highlight .sc { color: #800080 } /* Literal.String.Char */
.highlight .dl { color: #800080 } /* Literal.String.Delimiter */
.highlight .sd { color: #800080 } /* Literal.String.Doc */
.highlight .s2 { color: #800080 } /* Literal.String.Double */
.highlight .se { color: #800080 } /* Literal.String.Escape */
.highlight .sh { color: #800080 } /* Literal.String.Heredoc */
.highlight .si { color: #800080 } /* Literal.String.Interpol */
.highlight .sx { color: #800080 } /* Literal.String.Other */
.highlight .sr { color: #800080 } /* Literal.String.Regex */
.highlight .s1 { color: #800080 } /* Literal.String.Single */
.highlight .ss { color: #800080 } /* Literal.String.Symbol */
.highlight .bp { color: #2c2cff } /* Name.Builtin.Pseudo */
.highlight .fm { font-weight: bold; font-style: italic } /* Name.Function.Magic */
.highlight .vc { color: #2c2cff; font-weight: bold } /* Name.Variable.Class */
.highlight .vg { color: #2c2cff; font-weight: bold } /* Name.Variable.Global */
.highlight .vi { color: #2c2cff; font-weight: bold } /* Name.Variable.Instance */
.highlight .vm { color: #2c2cff; font-weight: bold } /* Name.Variable.Magic */
.highlight .il { color: #2c8553; font-weight: bold } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: #586e75; background-color: #073642; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #586e75; background-color: #073642; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #073642 }
.highlight { background: #002b36; color: #839496 }
.highlight .c { color: #586e75; font-style: italic } /* Comment */
.highlight .err { color: #839496; background-color: #dc322f } /* Error */
.highlight .esc { color: #839496 } /* Escape */
.highlight .g { color: #839496 } /* Generic */
.highlight .k { color: #859900 } /* Keyword */
.highlight .l { color: #839496 } /* Literal */
.highlight .n { color: #839496 } /* Name */
.highlight .o { color: #586e75 } /* Operator */
.highlight .x { color: #839496 } /* Other */
.highlight .p { color: #839496 } /* Punctuation */
.highlight .ch { color: #586e75; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #586e75; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #d33682 } /* Comment.Preproc */
.highlight .cpf { color: #586e75 } /* Comment.PreprocFile */
.highlight .c1 { color: #586e75; font-style: italic } /* Comment.Single */
.highlight .cs { color: #586e75; font-style: italic } /* Comment.Special */
.highlight .gd { color: #dc322f } /* Generic.Deleted */
.highlight .ge { color: #839496; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #839496; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #dc322f } /* Generic.Error */
.highlight .gh { color: #839496; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #859900 } /* Generic.Inserted */
.highlight .go { color: #839496 } /* Generic.Output */
.highlight .gp { color: #268bd2; font-weight: bold } /* Generic.Prompt */
.highlight .gs { color: #839496; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #839496; text-decoration: underline } /* Generic.Subheading */
.highlight .gt { color: #268bd2 } /* Generic.Traceback */
.highlight .kc { color: #2aa198 } /* Keyword.Constant */
.highlight .kd { color: #2aa198 } /* Keyword.Declaration */
.highlight .kn { color: #cb4b16 } /* Keyword.Namespace */
.highlight .kp { color: #859900 } /* Keyword.Pseudo */
.highlight .kr { color: #859900 } /* Keyword.Reserved */
.highlight .kt { color: #b58900 } /* Keyword.Type */
.highlight .ld { color: #839496 } /* Literal.Date */
.highlight .m { color: #2aa198 } /* Literal.Number */
.highlight .s { color: #2aa198 } /* Literal.String */
.highlight .na { color: #839496 } /* Name.Attribute */
.highlight .nb { color: #268bd2 } /* Name.Builtin */
.highlight .nc { color: #268bd2 } /* Name.Class */
.highlight .no { color: #268bd2 } /* Name.Constant */
.highlight .nd { color: #268bd2 } /* Name.Decorator */
.highlight .ni { color: #268bd2 } /* Name.Entity */
.highlight .ne { color: #268bd2 } /* Name.Exception */
.highlight .nf { color: #268bd2 } /* Name.Function */
.highlight .nl { color: #268bd2 } /* Name.Label */
.highlight .nn { color: #268bd2 } /* Name.Namespace */
.highlight .nx { color: #839496 } /* Name.Other */
.highlight .py { color: #839496 } /* Name.Property */
.highlight .nt { color: #268bd2 } /* Name.Tag */
.highlight .nv { color: #268bd2 } /* Name.Variable */
.highlight .ow { color: #859900 } /* Operator.Word */
.highlight .pm { color: #839496 } /* Punctuation.Marker */
.highlight .w { color: #839496 } /* Text.Whitespace */
.highlight .mb { color: #2aa198 } /* Literal.Number.Bin */
.highlight .mf { color: #2aa198 } /* Literal.Number.Float */
.highlight .mh { color: #2aa198 } /* Literal.Number.Hex */
.highlight .mi { color: #2aa198 } /* Literal.Number.Integer */
.highlight .mo { color: #2aa198 } /* Literal.Number.Oct */
.highlight .sa { color: #2aa198 } /* Literal.String.Affix */
.highlight .sb { color: #2aa198 } /* Literal.String.Backtick */
.highlight .sc { color: #2aa198 } /* Literal.String.Char */
.highlight .dl { color: #2aa198 } /* Literal.String.Delimiter */
.highlight .sd { color: #586e75 } /* Literal.String.Doc */
.highlight .s2 { color: #2aa198 } /* Literal.String.Double */
.highlight .se { color: #2aa198 } /* Literal.String.Escape */
.highlight .sh { color: #2aa198 } /* Literal.String.Heredoc */
.highlight .si { color: #2aa198 } /* Literal.String.Interpol */
.highlight .sx { color: #2aa198 } /* Literal.String.Other */
.highlight .sr { color: #cb4b16 } /* Literal.String.Regex */
.highlight .s1 { color: #2aa198 } /* Literal.String.Single */
.highlight .ss { color: #2aa198 } /* Literal.String.Symbol */
.highlight .bp { color: #268bd2 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #268bd2 } /* Name.Function.Magic */
.highlight .vc { color: #268bd2 } /* Name.Variable.Class */
.highlight .vg { color: #268bd2 } /* Name.Variable.Global */
.highlight .vi { color: #268bd2 } /* Name.Variable.Instance */
.highlight .vm { color: #268bd2 } /* Name.Variable.Magic */
.highlight .il { color: #2aa198 } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: #93a1a1; background-color: #eee8d5; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #93a1a1; background-color: #eee8d5; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #eee8d5 }
.highlight { background: #fdf6e3; color: #657b83 }
.highlight .c { color: #93a1a1; font-style: italic } /* Comment */
.highlight .err { color: #657b83; background-color: #dc322f } /* Error */
.highlight .esc { color: #657b83 } /* Escape */
.highlight .g { color: #657b83 } /* Generic */
.highlight .k { color: #859900 } /* Keyword */
.highlight .l { color: #657b83 } /* Literal */
.highlight .n { color: #657b83 } /* Name */
.highlight .o { color: #93a1a1 } /* Operator */
.highlight .x { color: #657b83 } /* Other */
.highlight .p { color: #657b83 } /* Punctuation */
.highlight .ch { color: #93a1a1; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #93a1a1; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #d33682 } /* Comment.Preproc */
.highlight .cpf { color: #93a1a1 } /* Comment.PreprocFile */
.highlight .c1 { color: #93a1a1; font-style: italic } /* Comment.Single */
.highlight .cs { color: #93a1a1; font-style: italic } /* Comment.Special */
.highlight .gd { color: #dc322f } /* Generic.Deleted */
.highlight .ge { color: #657b83; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #657b83; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #dc322f } /* Generic.Error */
.highlight .gh { color: #657b83; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #859900 } /* Generic.Inserted */
.highlight .go { color: #657b83 } /* Generic.Output */
.highlight .gp { color: #268bd2; font-weight: bold } /* Generic.Prompt */
.highlight .gs { color: #657b83; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #657b83; text-decoration: underline } /* Generic.Subheading */
.highlight .gt { color: #268bd2 } /* Generic.Traceback */
.highlight .kc { color: #2aa198 } /* Keyword.Constant */
.highlight .kd { color: #2aa198 } /* Keyword.Declaration */
.highlight .kn { color: #cb4b16 } /* Keyword.Namespace */
.highlight .kp { color: #859900 } /* Keyword.Pseudo */
.highlight .kr { color: #859900 } /* Keyword.Reserved */
.highlight .kt { color: #b58900 } /* Keyword.Type */
.highlight .ld { color: #657b83 } /* Literal.Date */
.highlight .m { color: #2aa198 } /* Literal.Number */
.highlight .s { color: #2aa198 } /* Literal.String */
.highlight .na { color: #657b83 } /* Name.Attribute */
.highlight .nb { color: #268bd2 } /* Name.Builtin */
.highlight .nc { color: #268bd2 } /* Name.Class */
.highlight .no { color: #268bd2 } /* Name.Constant */
.highlight .nd { color: #268bd2 } /* Name.Decorator */
.highlight .ni { color: #268bd2 } /* Name.Entity */
.highlight .ne { color: #268bd2 } /* Name.Exception */
.highlight .nf { color: #268bd2 } /* Name.Function */
.highlight .nl { color: #268bd2 } /* Name.Label */
.highlight .nn { color: #268bd2 } /* Name.Namespace */
.highlight .nx { color: #657b83 } /* Name.Other */
.highlight .py { color: #657b83 } /* Name.Property */
.highlight .nt { color: #268bd2 } /* Name.Tag */
.highlight .nv { color: #268bd2 } /* Name.Variable */
.highlight .ow { color: #859900 } /* Operator.Word */
.highlight .pm { color: #657b83 } /* Punctuation.Marker */
.highlight .w { color: #657b83 } /* Text.Whitespace */
.highlight .mb { color: #2aa198 } /* Literal.Number.Bin */
.highlight .mf { color: #2aa198 } /* Literal.Number.Float */
.highlight .mh { color: #2aa198 } /* Literal.Number.Hex */
.highlight .mi { color: #2aa198 } /* Literal.Number.Integer */
.highlight .mo { color: #2aa198 } /* Literal.Number.Oct */
.highlight .sa { color: #2aa198 } /* Literal.String.Affix */
.highlight .sb { color: #2aa198 } /* Literal.String.Backtick */
.highlight .sc { color: #2aa198 } /* Literal.String.Char */
.highlight .dl { color: #2aa198 } /* Literal.String.Delimiter */
.highlight .sd { color: #93a1a1 } /* Literal.String.Doc */
.highlight .s2 { color: #2aa198 } /* Literal.String.Double */
.highlight .se { color: #2aa198 } /* Literal.String.Escape */
.highlight .sh { color: #2aa198 } /* Literal.String.Heredoc */
.highlight .si { color: #2aa198 } /* Literal.String.Interpol */
.highlight .sx { color: #2aa198 } /* Literal.String.Other */
.highlight .sr { color: #cb4b16 } /* Literal.String.Regex */
.highlight .s1 { color: #2aa198 } /* Literal.String.Single */
.highlight .ss { color: #2aa198 } /* Literal.String.Symbol */
.highlight .bp { color: #268bd2 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #268bd2 } /* Name.Function.Magic */
.highlight .vc { color: #268bd2 } /* Name.Variable.Class */
.highlight .vg { color: #268bd2 } /* Name.Variable.Global */
.highlight .vi { color: #268bd2 } /* Name.Variable.Instance */
.highlight .vm { color: #268bd2 } /* Name.Variable.Magic */
.highlight .il { color: #2aa198 } /* Literal.Number.Integer.Long */

85
static/css/staroffice.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; color: #000080 }
.highlight .c { color: #696969 } /* Comment */
.highlight .err { color: #800000 } /* Error */
.highlight .esc { color: #000080 } /* Escape */
.highlight .g { color: #000080 } /* Generic */
.highlight .k { color: #000080 } /* Keyword */
.highlight .l { color: #EE0000 } /* Literal */
.highlight .n { color: #008000 } /* Name */
.highlight .o { color: #000080 } /* Operator */
.highlight .x { color: #000080 } /* Other */
.highlight .p { color: #000080 } /* Punctuation */
.highlight .ch { color: #696969 } /* Comment.Hashbang */
.highlight .cm { color: #696969 } /* Comment.Multiline */
.highlight .cp { color: #696969 } /* Comment.Preproc */
.highlight .cpf { color: #696969 } /* Comment.PreprocFile */
.highlight .c1 { color: #696969 } /* Comment.Single */
.highlight .cs { color: #696969 } /* Comment.Special */
.highlight .gd { color: #000080 } /* Generic.Deleted */
.highlight .ge { color: #000080 } /* Generic.Emph */
.highlight .ges { color: #000080 } /* Generic.EmphStrong */
.highlight .gr { color: #000080 } /* Generic.Error */
.highlight .gh { color: #000080 } /* Generic.Heading */
.highlight .gi { color: #000080 } /* Generic.Inserted */
.highlight .go { color: #000080 } /* Generic.Output */
.highlight .gp { color: #000080 } /* Generic.Prompt */
.highlight .gs { color: #000080 } /* Generic.Strong */
.highlight .gu { color: #000080 } /* Generic.Subheading */
.highlight .gt { color: #000080 } /* Generic.Traceback */
.highlight .kc { color: #000080 } /* Keyword.Constant */
.highlight .kd { color: #000080 } /* Keyword.Declaration */
.highlight .kn { color: #000080 } /* Keyword.Namespace */
.highlight .kp { color: #000080 } /* Keyword.Pseudo */
.highlight .kr { color: #000080 } /* Keyword.Reserved */
.highlight .kt { color: #000080 } /* Keyword.Type */
.highlight .ld { color: #EE0000 } /* Literal.Date */
.highlight .m { color: #EE0000 } /* Literal.Number */
.highlight .s { color: #EE0000 } /* Literal.String */
.highlight .na { color: #008000 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #008000 } /* Name.Class */
.highlight .no { color: #008000 } /* Name.Constant */
.highlight .nd { color: #008000 } /* Name.Decorator */
.highlight .ni { color: #008000 } /* Name.Entity */
.highlight .ne { color: #008000 } /* Name.Exception */
.highlight .nf { color: #008000 } /* Name.Function */
.highlight .nl { color: #008000 } /* Name.Label */
.highlight .nn { color: #008000 } /* Name.Namespace */
.highlight .nx { color: #008000 } /* Name.Other */
.highlight .py { color: #008000 } /* Name.Property */
.highlight .nt { color: #008000 } /* Name.Tag */
.highlight .nv { color: #008000 } /* Name.Variable */
.highlight .ow { color: #000080 } /* Operator.Word */
.highlight .pm { color: #000080 } /* Punctuation.Marker */
.highlight .w { color: #000080 } /* Text.Whitespace */
.highlight .mb { color: #EE0000 } /* Literal.Number.Bin */
.highlight .mf { color: #EE0000 } /* Literal.Number.Float */
.highlight .mh { color: #EE0000 } /* Literal.Number.Hex */
.highlight .mi { color: #EE0000 } /* Literal.Number.Integer */
.highlight .mo { color: #EE0000 } /* Literal.Number.Oct */
.highlight .sa { color: #EE0000 } /* Literal.String.Affix */
.highlight .sb { color: #EE0000 } /* Literal.String.Backtick */
.highlight .sc { color: #EE0000 } /* Literal.String.Char */
.highlight .dl { color: #EE0000 } /* Literal.String.Delimiter */
.highlight .sd { color: #EE0000 } /* Literal.String.Doc */
.highlight .s2 { color: #EE0000 } /* Literal.String.Double */
.highlight .se { color: #EE0000 } /* Literal.String.Escape */
.highlight .sh { color: #EE0000 } /* Literal.String.Heredoc */
.highlight .si { color: #EE0000 } /* Literal.String.Interpol */
.highlight .sx { color: #EE0000 } /* Literal.String.Other */
.highlight .sr { color: #EE0000 } /* Literal.String.Regex */
.highlight .s1 { color: #EE0000 } /* Literal.String.Single */
.highlight .ss { color: #EE0000 } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #008000 } /* Name.Function.Magic */
.highlight .vc { color: #008000 } /* Name.Variable.Class */
.highlight .vg { color: #008000 } /* Name.Variable.Global */
.highlight .vi { color: #008000 } /* Name.Variable.Instance */
.highlight .vm { color: #008000 } /* Name.Variable.Magic */
.highlight .il { color: #EE0000 } /* Literal.Number.Integer.Long */

85
static/css/stata-dark.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #49483e }
.highlight { background: #232629; color: #cccccc }
.highlight .c { color: #777777; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .esc { color: #cccccc } /* Escape */
.highlight .g { color: #cccccc } /* Generic */
.highlight .k { color: #7686bb; font-weight: bold } /* Keyword */
.highlight .l { color: #cccccc } /* Literal */
.highlight .n { color: #cccccc } /* Name */
.highlight .o { color: #cccccc } /* Operator */
.highlight .x { color: #cccccc } /* Other */
.highlight .p { color: #cccccc } /* Punctuation */
.highlight .ch { color: #777777; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #777777; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #777777; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #777777; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #777777; font-style: italic } /* Comment.Single */
.highlight .cs { color: #777777; font-style: italic } /* Comment.Special */
.highlight .gd { color: #cccccc } /* Generic.Deleted */
.highlight .ge { color: #cccccc } /* Generic.Emph */
.highlight .ges { color: #cccccc } /* Generic.EmphStrong */
.highlight .gr { color: #cccccc } /* Generic.Error */
.highlight .gh { color: #cccccc } /* Generic.Heading */
.highlight .gi { color: #cccccc } /* Generic.Inserted */
.highlight .go { color: #cccccc } /* Generic.Output */
.highlight .gp { color: #ffffff } /* Generic.Prompt */
.highlight .gs { color: #cccccc } /* Generic.Strong */
.highlight .gu { color: #cccccc } /* Generic.Subheading */
.highlight .gt { color: #cccccc } /* Generic.Traceback */
.highlight .kc { color: #7686bb; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #7686bb; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #7686bb; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #7686bb; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #7686bb; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #7686bb; font-weight: bold } /* Keyword.Type */
.highlight .ld { color: #cccccc } /* Literal.Date */
.highlight .m { color: #4FB8CC } /* Literal.Number */
.highlight .s { color: #51cc99 } /* Literal.String */
.highlight .na { color: #cccccc } /* Name.Attribute */
.highlight .nb { color: #cccccc } /* Name.Builtin */
.highlight .nc { color: #cccccc } /* Name.Class */
.highlight .no { color: #cccccc } /* Name.Constant */
.highlight .nd { color: #cccccc } /* Name.Decorator */
.highlight .ni { color: #cccccc } /* Name.Entity */
.highlight .ne { color: #cccccc } /* Name.Exception */
.highlight .nf { color: #6a6aff } /* Name.Function */
.highlight .nl { color: #cccccc } /* Name.Label */
.highlight .nn { color: #cccccc } /* Name.Namespace */
.highlight .nx { color: #e2828e } /* Name.Other */
.highlight .py { color: #cccccc } /* Name.Property */
.highlight .nt { color: #cccccc } /* Name.Tag */
.highlight .nv { color: #7AB4DB; font-weight: bold } /* Name.Variable */
.highlight .ow { color: #cccccc } /* Operator.Word */
.highlight .pm { color: #cccccc } /* Punctuation.Marker */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #4FB8CC } /* Literal.Number.Bin */
.highlight .mf { color: #4FB8CC } /* Literal.Number.Float */
.highlight .mh { color: #4FB8CC } /* Literal.Number.Hex */
.highlight .mi { color: #4FB8CC } /* Literal.Number.Integer */
.highlight .mo { color: #4FB8CC } /* Literal.Number.Oct */
.highlight .sa { color: #51cc99 } /* Literal.String.Affix */
.highlight .sb { color: #51cc99 } /* Literal.String.Backtick */
.highlight .sc { color: #51cc99 } /* Literal.String.Char */
.highlight .dl { color: #51cc99 } /* Literal.String.Delimiter */
.highlight .sd { color: #51cc99 } /* Literal.String.Doc */
.highlight .s2 { color: #51cc99 } /* Literal.String.Double */
.highlight .se { color: #51cc99 } /* Literal.String.Escape */
.highlight .sh { color: #51cc99 } /* Literal.String.Heredoc */
.highlight .si { color: #51cc99 } /* Literal.String.Interpol */
.highlight .sx { color: #51cc99 } /* Literal.String.Other */
.highlight .sr { color: #51cc99 } /* Literal.String.Regex */
.highlight .s1 { color: #51cc99 } /* Literal.String.Single */
.highlight .ss { color: #51cc99 } /* Literal.String.Symbol */
.highlight .bp { color: #cccccc } /* Name.Builtin.Pseudo */
.highlight .fm { color: #6a6aff } /* Name.Function.Magic */
.highlight .vc { color: #7AB4DB; font-weight: bold } /* Name.Variable.Class */
.highlight .vg { color: #BE646C; font-weight: bold } /* Name.Variable.Global */
.highlight .vi { color: #7AB4DB; font-weight: bold } /* Name.Variable.Instance */
.highlight .vm { color: #7AB4DB; font-weight: bold } /* Name.Variable.Magic */
.highlight .il { color: #4FB8CC } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,52 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; color: #111111 }
.highlight .c { color: #008800; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #353580; font-weight: bold } /* Keyword */
.highlight .ch { color: #008800; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #008800; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #008800; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #008800; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #008800; font-style: italic } /* Comment.Single */
.highlight .cs { color: #008800; font-style: italic } /* Comment.Special */
.highlight .kc { color: #353580; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #353580; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #353580; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #353580; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #353580; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #2c2cff } /* Literal.Number */
.highlight .s { color: #7a2424 } /* Literal.String */
.highlight .nf { color: #2c2cff } /* Name.Function */
.highlight .nx { color: #be646c } /* Name.Other */
.highlight .nv { color: #35baba; font-weight: bold } /* Name.Variable */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #2c2cff } /* Literal.Number.Bin */
.highlight .mf { color: #2c2cff } /* Literal.Number.Float */
.highlight .mh { color: #2c2cff } /* Literal.Number.Hex */
.highlight .mi { color: #2c2cff } /* Literal.Number.Integer */
.highlight .mo { color: #2c2cff } /* Literal.Number.Oct */
.highlight .sa { color: #7a2424 } /* Literal.String.Affix */
.highlight .sb { color: #7a2424 } /* Literal.String.Backtick */
.highlight .sc { color: #7a2424 } /* Literal.String.Char */
.highlight .dl { color: #7a2424 } /* Literal.String.Delimiter */
.highlight .sd { color: #7a2424 } /* Literal.String.Doc */
.highlight .s2 { color: #7a2424 } /* Literal.String.Double */
.highlight .se { color: #7a2424 } /* Literal.String.Escape */
.highlight .sh { color: #7a2424 } /* Literal.String.Heredoc */
.highlight .si { color: #7a2424 } /* Literal.String.Interpol */
.highlight .sx { color: #7a2424 } /* Literal.String.Other */
.highlight .sr { color: #7a2424 } /* Literal.String.Regex */
.highlight .s1 { color: #7a2424 } /* Literal.String.Single */
.highlight .ss { color: #7a2424 } /* Literal.String.Symbol */
.highlight .fm { color: #2c2cff } /* Name.Function.Magic */
.highlight .vc { color: #35baba; font-weight: bold } /* Name.Variable.Class */
.highlight .vg { color: #b5565e; font-weight: bold } /* Name.Variable.Global */
.highlight .vi { color: #35baba; font-weight: bold } /* Name.Variable.Instance */
.highlight .vm { color: #35baba; font-weight: bold } /* Name.Variable.Magic */
.highlight .il { color: #2c2cff } /* Literal.Number.Integer.Long */

52
static/css/stata.css Normal file
View File

@ -0,0 +1,52 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; color: #111111 }
.highlight .c { color: #008800; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #353580; font-weight: bold } /* Keyword */
.highlight .ch { color: #008800; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #008800; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #008800; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #008800; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #008800; font-style: italic } /* Comment.Single */
.highlight .cs { color: #008800; font-style: italic } /* Comment.Special */
.highlight .kc { color: #353580; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #353580; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #353580; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #353580; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #353580; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #353580; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #2c2cff } /* Literal.Number */
.highlight .s { color: #7a2424 } /* Literal.String */
.highlight .nf { color: #2c2cff } /* Name.Function */
.highlight .nx { color: #be646c } /* Name.Other */
.highlight .nv { color: #35baba; font-weight: bold } /* Name.Variable */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #2c2cff } /* Literal.Number.Bin */
.highlight .mf { color: #2c2cff } /* Literal.Number.Float */
.highlight .mh { color: #2c2cff } /* Literal.Number.Hex */
.highlight .mi { color: #2c2cff } /* Literal.Number.Integer */
.highlight .mo { color: #2c2cff } /* Literal.Number.Oct */
.highlight .sa { color: #7a2424 } /* Literal.String.Affix */
.highlight .sb { color: #7a2424 } /* Literal.String.Backtick */
.highlight .sc { color: #7a2424 } /* Literal.String.Char */
.highlight .dl { color: #7a2424 } /* Literal.String.Delimiter */
.highlight .sd { color: #7a2424 } /* Literal.String.Doc */
.highlight .s2 { color: #7a2424 } /* Literal.String.Double */
.highlight .se { color: #7a2424 } /* Literal.String.Escape */
.highlight .sh { color: #7a2424 } /* Literal.String.Heredoc */
.highlight .si { color: #7a2424 } /* Literal.String.Interpol */
.highlight .sx { color: #7a2424 } /* Literal.String.Other */
.highlight .sr { color: #7a2424 } /* Literal.String.Regex */
.highlight .s1 { color: #7a2424 } /* Literal.String.Single */
.highlight .ss { color: #7a2424 } /* Literal.String.Symbol */
.highlight .fm { color: #2c2cff } /* Name.Function.Magic */
.highlight .vc { color: #35baba; font-weight: bold } /* Name.Variable.Class */
.highlight .vg { color: #b5565e; font-weight: bold } /* Name.Variable.Global */
.highlight .vi { color: #35baba; font-weight: bold } /* Name.Variable.Instance */
.highlight .vm { color: #35baba; font-weight: bold } /* Name.Variable.Magic */
.highlight .il { color: #2c2cff } /* Literal.Number.Integer.Long */

84
static/css/tango.css Normal file
View File

@ -0,0 +1,84 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #8f5902; font-style: italic } /* Comment */
.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
.highlight .g { color: #000000 } /* Generic */
.highlight .k { color: #204a87; font-weight: bold } /* Keyword */
.highlight .l { color: #000000 } /* Literal */
.highlight .n { color: #000000 } /* Name */
.highlight .o { color: #ce5c00; font-weight: bold } /* Operator */
.highlight .x { color: #000000 } /* Other */
.highlight .p { color: #000000; font-weight: bold } /* Punctuation */
.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */
.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */
.highlight .gd { color: #a40000 } /* Generic.Deleted */
.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #000000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #ef2929 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #000000; font-style: italic } /* Generic.Output */
.highlight .gp { color: #8f5902 } /* Generic.Prompt */
.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
.highlight .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #204a87; font-weight: bold } /* Keyword.Type */
.highlight .ld { color: #000000 } /* Literal.Date */
.highlight .m { color: #0000cf; font-weight: bold } /* Literal.Number */
.highlight .s { color: #4e9a06 } /* Literal.String */
.highlight .na { color: #c4a000 } /* Name.Attribute */
.highlight .nb { color: #204a87 } /* Name.Builtin */
.highlight .nc { color: #000000 } /* Name.Class */
.highlight .no { color: #000000 } /* Name.Constant */
.highlight .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #ce5c00 } /* Name.Entity */
.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #000000 } /* Name.Function */
.highlight .nl { color: #f57900 } /* Name.Label */
.highlight .nn { color: #000000 } /* Name.Namespace */
.highlight .nx { color: #000000 } /* Name.Other */
.highlight .py { color: #000000 } /* Name.Property */
.highlight .nt { color: #204a87; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #000000 } /* Name.Variable */
.highlight .ow { color: #204a87; font-weight: bold } /* Operator.Word */
.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */
.highlight .w { color: #f8f8f8 } /* Text.Whitespace */
.highlight .mb { color: #0000cf; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */
.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */
.highlight .sc { color: #4e9a06 } /* Literal.String.Char */
.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */
.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */
.highlight .se { color: #4e9a06 } /* Literal.String.Escape */
.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */
.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */
.highlight .sx { color: #4e9a06 } /* Literal.String.Other */
.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */
.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */
.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */
.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #000000 } /* Name.Function.Magic */
.highlight .vc { color: #000000 } /* Name.Variable.Class */
.highlight .vg { color: #000000 } /* Name.Variable.Global */
.highlight .vi { color: #000000 } /* Name.Variable.Instance */
.highlight .vm { color: #000000 } /* Name.Variable.Magic */
.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */

73
static/css/trac.css Normal file
View File

@ -0,0 +1,73 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #999988; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { font-weight: bold } /* Keyword */
.highlight .o { font-weight: bold } /* Operator */
.highlight .ch { color: #999988; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #999988; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #999999 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { font-weight: bold } /* Keyword.Constant */
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
.highlight .kn { font-weight: bold } /* Keyword.Namespace */
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #009999 } /* Literal.Number */
.highlight .s { color: #bb8844 } /* Literal.String */
.highlight .na { color: #008080 } /* Name.Attribute */
.highlight .nb { color: #999999 } /* Name.Builtin */
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
.highlight .no { color: #008080 } /* Name.Constant */
.highlight .ni { color: #800080 } /* Name.Entity */
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
.highlight .nn { color: #555555 } /* Name.Namespace */
.highlight .nt { color: #000080 } /* Name.Tag */
.highlight .nv { color: #008080 } /* Name.Variable */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #009999 } /* Literal.Number.Bin */
.highlight .mf { color: #009999 } /* Literal.Number.Float */
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
.highlight .sa { color: #bb8844 } /* Literal.String.Affix */
.highlight .sb { color: #bb8844 } /* Literal.String.Backtick */
.highlight .sc { color: #bb8844 } /* Literal.String.Char */
.highlight .dl { color: #bb8844 } /* Literal.String.Delimiter */
.highlight .sd { color: #bb8844 } /* Literal.String.Doc */
.highlight .s2 { color: #bb8844 } /* Literal.String.Double */
.highlight .se { color: #bb8844 } /* Literal.String.Escape */
.highlight .sh { color: #bb8844 } /* Literal.String.Heredoc */
.highlight .si { color: #bb8844 } /* Literal.String.Interpol */
.highlight .sx { color: #bb8844 } /* Literal.String.Other */
.highlight .sr { color: #808000 } /* Literal.String.Regex */
.highlight .s1 { color: #bb8844 } /* Literal.String.Single */
.highlight .ss { color: #bb8844 } /* Literal.String.Symbol */
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #990000; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #008080 } /* Name.Variable.Class */
.highlight .vg { color: #008080 } /* Name.Variable.Global */
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
.highlight .vm { color: #008080 } /* Name.Variable.Magic */
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */

85
static/css/vim.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #222222 }
.highlight { background: #000000; color: #cccccc }
.highlight .c { color: #000080 } /* Comment */
.highlight .err { color: #cccccc; border: 1px solid #FF0000 } /* Error */
.highlight .esc { color: #cccccc } /* Escape */
.highlight .g { color: #cccccc } /* Generic */
.highlight .k { color: #cdcd00 } /* Keyword */
.highlight .l { color: #cccccc } /* Literal */
.highlight .n { color: #cccccc } /* Name */
.highlight .o { color: #3399cc } /* Operator */
.highlight .x { color: #cccccc } /* Other */
.highlight .p { color: #cccccc } /* Punctuation */
.highlight .ch { color: #000080 } /* Comment.Hashbang */
.highlight .cm { color: #000080 } /* Comment.Multiline */
.highlight .cp { color: #000080 } /* Comment.Preproc */
.highlight .cpf { color: #000080 } /* Comment.PreprocFile */
.highlight .c1 { color: #000080 } /* Comment.Single */
.highlight .cs { color: #cd0000; font-weight: bold } /* Comment.Special */
.highlight .gd { color: #cd0000 } /* Generic.Deleted */
.highlight .ge { color: #cccccc; font-style: italic } /* Generic.Emph */
.highlight .ges { color: #cccccc; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00cd00 } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { color: #cccccc; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0044DD } /* Generic.Traceback */
.highlight .kc { color: #cdcd00 } /* Keyword.Constant */
.highlight .kd { color: #00cd00 } /* Keyword.Declaration */
.highlight .kn { color: #cd00cd } /* Keyword.Namespace */
.highlight .kp { color: #cdcd00 } /* Keyword.Pseudo */
.highlight .kr { color: #cdcd00 } /* Keyword.Reserved */
.highlight .kt { color: #00cd00 } /* Keyword.Type */
.highlight .ld { color: #cccccc } /* Literal.Date */
.highlight .m { color: #cd00cd } /* Literal.Number */
.highlight .s { color: #cd0000 } /* Literal.String */
.highlight .na { color: #cccccc } /* Name.Attribute */
.highlight .nb { color: #cd00cd } /* Name.Builtin */
.highlight .nc { color: #00cdcd } /* Name.Class */
.highlight .no { color: #cccccc } /* Name.Constant */
.highlight .nd { color: #cccccc } /* Name.Decorator */
.highlight .ni { color: #cccccc } /* Name.Entity */
.highlight .ne { color: #666699; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #cccccc } /* Name.Function */
.highlight .nl { color: #cccccc } /* Name.Label */
.highlight .nn { color: #cccccc } /* Name.Namespace */
.highlight .nx { color: #cccccc } /* Name.Other */
.highlight .py { color: #cccccc } /* Name.Property */
.highlight .nt { color: #cccccc } /* Name.Tag */
.highlight .nv { color: #00cdcd } /* Name.Variable */
.highlight .ow { color: #cdcd00 } /* Operator.Word */
.highlight .pm { color: #cccccc } /* Punctuation.Marker */
.highlight .w { color: #cccccc } /* Text.Whitespace */
.highlight .mb { color: #cd00cd } /* Literal.Number.Bin */
.highlight .mf { color: #cd00cd } /* Literal.Number.Float */
.highlight .mh { color: #cd00cd } /* Literal.Number.Hex */
.highlight .mi { color: #cd00cd } /* Literal.Number.Integer */
.highlight .mo { color: #cd00cd } /* Literal.Number.Oct */
.highlight .sa { color: #cd0000 } /* Literal.String.Affix */
.highlight .sb { color: #cd0000 } /* Literal.String.Backtick */
.highlight .sc { color: #cd0000 } /* Literal.String.Char */
.highlight .dl { color: #cd0000 } /* Literal.String.Delimiter */
.highlight .sd { color: #cd0000 } /* Literal.String.Doc */
.highlight .s2 { color: #cd0000 } /* Literal.String.Double */
.highlight .se { color: #cd0000 } /* Literal.String.Escape */
.highlight .sh { color: #cd0000 } /* Literal.String.Heredoc */
.highlight .si { color: #cd0000 } /* Literal.String.Interpol */
.highlight .sx { color: #cd0000 } /* Literal.String.Other */
.highlight .sr { color: #cd0000 } /* Literal.String.Regex */
.highlight .s1 { color: #cd0000 } /* Literal.String.Single */
.highlight .ss { color: #cd0000 } /* Literal.String.Symbol */
.highlight .bp { color: #cd00cd } /* Name.Builtin.Pseudo */
.highlight .fm { color: #cccccc } /* Name.Function.Magic */
.highlight .vc { color: #00cdcd } /* Name.Variable.Class */
.highlight .vg { color: #00cdcd } /* Name.Variable.Global */
.highlight .vi { color: #00cdcd } /* Name.Variable.Instance */
.highlight .vm { color: #00cdcd } /* Name.Variable.Magic */
.highlight .il { color: #cd00cd } /* Literal.Number.Integer.Long */

44
static/css/vs.css Normal file
View File

@ -0,0 +1,44 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #008000 } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #0000ff } /* Keyword */
.highlight .ch { color: #008000 } /* Comment.Hashbang */
.highlight .cm { color: #008000 } /* Comment.Multiline */
.highlight .cp { color: #0000ff } /* Comment.Preproc */
.highlight .cpf { color: #008000 } /* Comment.PreprocFile */
.highlight .c1 { color: #008000 } /* Comment.Single */
.highlight .cs { color: #008000 } /* Comment.Special */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gh { font-weight: bold } /* Generic.Heading */
.highlight .gp { font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { font-weight: bold } /* Generic.Subheading */
.highlight .kc { color: #0000ff } /* Keyword.Constant */
.highlight .kd { color: #0000ff } /* Keyword.Declaration */
.highlight .kn { color: #0000ff } /* Keyword.Namespace */
.highlight .kp { color: #0000ff } /* Keyword.Pseudo */
.highlight .kr { color: #0000ff } /* Keyword.Reserved */
.highlight .kt { color: #2b91af } /* Keyword.Type */
.highlight .s { color: #a31515 } /* Literal.String */
.highlight .nc { color: #2b91af } /* Name.Class */
.highlight .ow { color: #0000ff } /* Operator.Word */
.highlight .sa { color: #a31515 } /* Literal.String.Affix */
.highlight .sb { color: #a31515 } /* Literal.String.Backtick */
.highlight .sc { color: #a31515 } /* Literal.String.Char */
.highlight .dl { color: #a31515 } /* Literal.String.Delimiter */
.highlight .sd { color: #a31515 } /* Literal.String.Doc */
.highlight .s2 { color: #a31515 } /* Literal.String.Double */
.highlight .se { color: #a31515 } /* Literal.String.Escape */
.highlight .sh { color: #a31515 } /* Literal.String.Heredoc */
.highlight .si { color: #a31515 } /* Literal.String.Interpol */
.highlight .sx { color: #a31515 } /* Literal.String.Other */
.highlight .sr { color: #a31515 } /* Literal.String.Regex */
.highlight .s1 { color: #a31515 } /* Literal.String.Single */
.highlight .ss { color: #a31515 } /* Literal.String.Symbol */

68
static/css/xcode.css Normal file
View File

@ -0,0 +1,68 @@
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #177500 } /* Comment */
.highlight .err { color: #000000 } /* Error */
.highlight .k { color: #A90D91 } /* Keyword */
.highlight .l { color: #1C01CE } /* Literal */
.highlight .n { color: #000000 } /* Name */
.highlight .o { color: #000000 } /* Operator */
.highlight .ch { color: #177500 } /* Comment.Hashbang */
.highlight .cm { color: #177500 } /* Comment.Multiline */
.highlight .cp { color: #633820 } /* Comment.Preproc */
.highlight .cpf { color: #177500 } /* Comment.PreprocFile */
.highlight .c1 { color: #177500 } /* Comment.Single */
.highlight .cs { color: #177500 } /* Comment.Special */
.highlight .kc { color: #A90D91 } /* Keyword.Constant */
.highlight .kd { color: #A90D91 } /* Keyword.Declaration */
.highlight .kn { color: #A90D91 } /* Keyword.Namespace */
.highlight .kp { color: #A90D91 } /* Keyword.Pseudo */
.highlight .kr { color: #A90D91 } /* Keyword.Reserved */
.highlight .kt { color: #A90D91 } /* Keyword.Type */
.highlight .ld { color: #1C01CE } /* Literal.Date */
.highlight .m { color: #1C01CE } /* Literal.Number */
.highlight .s { color: #C41A16 } /* Literal.String */
.highlight .na { color: #836C28 } /* Name.Attribute */
.highlight .nb { color: #A90D91 } /* Name.Builtin */
.highlight .nc { color: #3F6E75 } /* Name.Class */
.highlight .no { color: #000000 } /* Name.Constant */
.highlight .nd { color: #000000 } /* Name.Decorator */
.highlight .ni { color: #000000 } /* Name.Entity */
.highlight .ne { color: #000000 } /* Name.Exception */
.highlight .nf { color: #000000 } /* Name.Function */
.highlight .nl { color: #000000 } /* Name.Label */
.highlight .nn { color: #000000 } /* Name.Namespace */
.highlight .nx { color: #000000 } /* Name.Other */
.highlight .py { color: #000000 } /* Name.Property */
.highlight .nt { color: #000000 } /* Name.Tag */
.highlight .nv { color: #000000 } /* Name.Variable */
.highlight .ow { color: #000000 } /* Operator.Word */
.highlight .mb { color: #1C01CE } /* Literal.Number.Bin */
.highlight .mf { color: #1C01CE } /* Literal.Number.Float */
.highlight .mh { color: #1C01CE } /* Literal.Number.Hex */
.highlight .mi { color: #1C01CE } /* Literal.Number.Integer */
.highlight .mo { color: #1C01CE } /* Literal.Number.Oct */
.highlight .sa { color: #C41A16 } /* Literal.String.Affix */
.highlight .sb { color: #C41A16 } /* Literal.String.Backtick */
.highlight .sc { color: #2300CE } /* Literal.String.Char */
.highlight .dl { color: #C41A16 } /* Literal.String.Delimiter */
.highlight .sd { color: #C41A16 } /* Literal.String.Doc */
.highlight .s2 { color: #C41A16 } /* Literal.String.Double */
.highlight .se { color: #C41A16 } /* Literal.String.Escape */
.highlight .sh { color: #C41A16 } /* Literal.String.Heredoc */
.highlight .si { color: #C41A16 } /* Literal.String.Interpol */
.highlight .sx { color: #C41A16 } /* Literal.String.Other */
.highlight .sr { color: #C41A16 } /* Literal.String.Regex */
.highlight .s1 { color: #C41A16 } /* Literal.String.Single */
.highlight .ss { color: #C41A16 } /* Literal.String.Symbol */
.highlight .bp { color: #5B269A } /* Name.Builtin.Pseudo */
.highlight .fm { color: #000000 } /* Name.Function.Magic */
.highlight .vc { color: #000000 } /* Name.Variable.Class */
.highlight .vg { color: #000000 } /* Name.Variable.Global */
.highlight .vi { color: #000000 } /* Name.Variable.Instance */
.highlight .vm { color: #000000 } /* Name.Variable.Magic */
.highlight .il { color: #1C01CE } /* Literal.Number.Integer.Long */

85
static/css/zenburn.css Normal file
View File

@ -0,0 +1,85 @@
pre { line-height: 125%; }
td.linenos .normal { color: #5d6262; background-color: #353535; padding-left: 5px; padding-right: 5px; }
span.linenos { color: #5d6262; background-color: #353535; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #7a8080; background-color: #353535; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #7a8080; background-color: #353535; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #484848 }
.highlight { background: #3f3f3f; color: #dcdccc }
.highlight .c { color: #7f9f7f; font-style: italic } /* Comment */
.highlight .err { color: #e37170; font-weight: bold } /* Error */
.highlight .esc { color: #dcdccc } /* Escape */
.highlight .g { color: #ecbcbc; font-weight: bold } /* Generic */
.highlight .k { color: #efdcbc } /* Keyword */
.highlight .l { color: #9fafaf } /* Literal */
.highlight .n { color: #dcdccc } /* Name */
.highlight .o { color: #f0efd0 } /* Operator */
.highlight .x { color: #dcdccc } /* Other */
.highlight .p { color: #f0efd0 } /* Punctuation */
.highlight .ch { color: #7f9f7f; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #7f9f7f; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #dfaf8f; font-weight: bold; font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: #cc9393; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #7f9f7f; font-style: italic } /* Comment.Single */
.highlight .cs { color: #dfdfdf; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #c3bf9f; font-weight: bold; background-color: #313c36 } /* Generic.Deleted */
.highlight .ge { color: #ffffff; font-weight: bold } /* Generic.Emph */
.highlight .ges { color: #ecbcbc; font-weight: bold } /* Generic.EmphStrong */
.highlight .gr { color: #ecbcbc; font-weight: bold } /* Generic.Error */
.highlight .gh { color: #efefef; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #709080; font-weight: bold; background-color: #313c36 } /* Generic.Inserted */
.highlight .go { color: #5b605e; font-weight: bold } /* Generic.Output */
.highlight .gp { color: #ecbcbc; font-weight: bold } /* Generic.Prompt */
.highlight .gs { color: #ecbcbc; font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #efefef; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #80d4aa; font-weight: bold; background-color: #2f2f2f } /* Generic.Traceback */
.highlight .kc { color: #dca3a3 } /* Keyword.Constant */
.highlight .kd { color: #f0dfaf } /* Keyword.Declaration */
.highlight .kn { color: #f0dfaf } /* Keyword.Namespace */
.highlight .kp { color: #efdcbc } /* Keyword.Pseudo */
.highlight .kr { color: #efdcbc } /* Keyword.Reserved */
.highlight .kt { color: #dfdfbf; font-weight: bold } /* Keyword.Type */
.highlight .ld { color: #9fafaf } /* Literal.Date */
.highlight .m { color: #8cd0d3 } /* Literal.Number */
.highlight .s { color: #cc9393 } /* Literal.String */
.highlight .na { color: #efef8f } /* Name.Attribute */
.highlight .nb { color: #efef8f } /* Name.Builtin */
.highlight .nc { color: #efef8f } /* Name.Class */
.highlight .no { color: #dca3a3 } /* Name.Constant */
.highlight .nd { color: #dcdccc } /* Name.Decorator */
.highlight .ni { color: #cfbfaf } /* Name.Entity */
.highlight .ne { color: #c3bf9f; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #efef8f } /* Name.Function */
.highlight .nl { color: #dcdccc } /* Name.Label */
.highlight .nn { color: #dcdccc } /* Name.Namespace */
.highlight .nx { color: #dcdccc } /* Name.Other */
.highlight .py { color: #dcdccc } /* Name.Property */
.highlight .nt { color: #e89393; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #dcdccc } /* Name.Variable */
.highlight .ow { color: #f0efd0 } /* Operator.Word */
.highlight .pm { color: #f0efd0 } /* Punctuation.Marker */
.highlight .w { color: #dcdccc } /* Text.Whitespace */
.highlight .mb { color: #8cd0d3 } /* Literal.Number.Bin */
.highlight .mf { color: #c0bed1 } /* Literal.Number.Float */
.highlight .mh { color: #8cd0d3 } /* Literal.Number.Hex */
.highlight .mi { color: #8cd0d3 } /* Literal.Number.Integer */
.highlight .mo { color: #8cd0d3 } /* Literal.Number.Oct */
.highlight .sa { color: #cc9393 } /* Literal.String.Affix */
.highlight .sb { color: #cc9393 } /* Literal.String.Backtick */
.highlight .sc { color: #cc9393 } /* Literal.String.Char */
.highlight .dl { color: #cc9393 } /* Literal.String.Delimiter */
.highlight .sd { color: #7f9f7f } /* Literal.String.Doc */
.highlight .s2 { color: #cc9393 } /* Literal.String.Double */
.highlight .se { color: #cc9393 } /* Literal.String.Escape */
.highlight .sh { color: #cc9393 } /* Literal.String.Heredoc */
.highlight .si { color: #dca3a3; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #cc9393 } /* Literal.String.Other */
.highlight .sr { color: #cc9393 } /* Literal.String.Regex */
.highlight .s1 { color: #cc9393 } /* Literal.String.Single */
.highlight .ss { color: #cc9393 } /* Literal.String.Symbol */
.highlight .bp { color: #dcdccc } /* Name.Builtin.Pseudo */
.highlight .fm { color: #efef8f } /* Name.Function.Magic */
.highlight .vc { color: #dcdccc } /* Name.Variable.Class */
.highlight .vg { color: #dcdccc } /* Name.Variable.Global */
.highlight .vi { color: #dcdccc } /* Name.Variable.Instance */
.highlight .vm { color: #dcdccc } /* Name.Variable.Magic */
.highlight .il { color: #8cd0d3 } /* Literal.Number.Integer.Long */

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