add
60
README.md
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
# W2 wiki
|
||||||
|
|
||||||
|
W2 wiki is a web-based, wiki-like notepad that you can host yourself.
|
||||||
|
|
||||||
|
|
||||||
|
## Notable features:
|
||||||
|
|
||||||
|
- Elegant text markup:
|
||||||
|
- Uses [Markdown Syntax](https://github.com/codeling/w2wiki/blob/master/pages/MarkdownSyntax.md).
|
||||||
|
- It supports double-brackets [[like this]] to link to another page in the wiki by title
|
||||||
|
- It supports double-braces {{like this}} to link to an uploaded image
|
||||||
|
- Minimalistic but functional interface:
|
||||||
|
- Fits to screen nicely when viewed on iPhone, with custom icon for adding to home screen
|
||||||
|
- HTML5 compliant output
|
||||||
|
- Title & content search
|
||||||
|
- Filesystem storage (no database required) in plain Markdown text files.
|
||||||
|
- Rudimentary git integration to commit & push each page edit
|
||||||
|
- Localization support (currently en/ja translations available)
|
||||||
|
- Image uploading support
|
||||||
|
- Optionally password-protected
|
||||||
|
- Unlike cloud / hosted solutions, you retain control of your data
|
||||||
|
- Written in PHP for portability and hackability
|
||||||
|
- Extremely compact (only a few .php files and a .css file)
|
||||||
|
|
||||||
|
|
||||||
|
## Installation & Configuration
|
||||||
|
|
||||||
|
See [Installation instructions](https://github.com/codeling/w2wiki/blob/master/INSTALL.md).
|
||||||
|
|
||||||
|
|
||||||
|
## Security Notice
|
||||||
|
|
||||||
|
In its current form, W2 wiki is not security-hardened; it's recommended to only run on an additionally secured server (e.g. in a small, private network for one user only; and secured behind a VPN and/or HTTPS with basic authentication).
|
||||||
|
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
W2 is licensed under the [MIT license](https://github.com/codeling/w2wiki/blob/master/LICENSE).
|
||||||
|
|
||||||
|
|
||||||
|
## Acknowledgements
|
||||||
|
|
||||||
|
Originally written by [Steven Frank](https://github.com/panicsteve/w2wiki) and others, with modifications by
|
||||||
|
- [44uk](https://github.com/44uk/w2wiki)
|
||||||
|
- [knee-cola](https://github.com/knee-cola/w2wiki)
|
||||||
|
- [namvan](https://github.com/namvan/w2wiki)
|
||||||
|
- [nickodell](https://github.com/nickodell/w2wiki)
|
||||||
|
- [pilem](https://github.com/pilem/w2)
|
||||||
|
|
||||||
|
W2 wiki uses [PHP Markdown](https://github.com/michelf/php-markdown) by Michel Fortin for rendering Markdown to HTML.
|
||||||
|
|
||||||
|
The [Markdown syntax](https://github.com/codeling/w2wiki/blob/master/pages/MarkdownSyntax.md) description is taken from [daringfireball.net](https://daringfireball.net/projects/markdown/syntax).
|
||||||
|
|
||||||
|
Maintainer of this fork is [codeling](https://github.com/codeling/w2wiki).
|
||||||
|
|
||||||
|
|
||||||
|
## Reporting Bugs
|
||||||
|
|
||||||
|
Please report bugs in [the github issue tracker](https://github.com/codeling/w2wiki/issues) of this fork.
|
||||||
|
|
85
config.php
|
@ -1,11 +1,10 @@
|
||||||
<?php
|
<?php if (!defined('W2APP')){ die('No direct access.'); }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* W2
|
* W2
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2009 Steven Frank <http://stevenf.com/>
|
* Copyright (C) 2007-2009 Steven Frank <http://stevenf.com/>
|
||||||
* Code may be re-used as long as the above copyright notice is retained.
|
* Code may be re-used as long as the above copyright notice is retained.
|
||||||
* See README.txt for full details.
|
* See README.md for full details.
|
||||||
*
|
*
|
||||||
* Written with Coda: <http://panic.com/coda/>
|
* Written with Coda: <http://panic.com/coda/>
|
||||||
*
|
*
|
||||||
|
@ -15,19 +14,24 @@
|
||||||
// Site layout settings
|
// Site layout settings
|
||||||
// --------------------
|
// --------------------
|
||||||
|
|
||||||
// BASE_PATH
|
|
||||||
//
|
|
||||||
// The base system path to W2. You only need to change this if we guess wrong.
|
|
||||||
// You should not use a trailing slash.
|
|
||||||
|
|
||||||
define('BASE_PATH', getcwd());
|
|
||||||
|
|
||||||
// PAGES_PATH
|
// PAGES_PATH
|
||||||
//
|
//
|
||||||
// The path to the raw text documents maintained by W2
|
// The path to the raw text documents maintained by W2
|
||||||
// You should not use a trailing slash.
|
// You should not use a trailing slash.
|
||||||
|
|
||||||
define('PAGES_PATH', BASE_PATH . '/pages');
|
define('PAGES_PATH', dirname(__FILE__). '/pages');
|
||||||
|
|
||||||
|
// UPLOAD_FOLDER
|
||||||
|
//
|
||||||
|
// The subfolder in PAGES_PATH that uploads get stored to
|
||||||
|
define('UPLOAD_FOLDER', 'images');
|
||||||
|
|
||||||
|
// PAGES_EXT
|
||||||
|
//
|
||||||
|
// The extension of the Markdown files in the PAGES_PATH
|
||||||
|
// folder which are displayed by W2
|
||||||
|
define('PAGES_EXT', 'md');
|
||||||
|
|
||||||
|
|
||||||
// BASE_URI
|
// BASE_URI
|
||||||
//
|
//
|
||||||
|
@ -62,6 +66,18 @@ define('DEFAULT_PAGE', 'Home');
|
||||||
|
|
||||||
define('CSS_FILE', 'index.css');
|
define('CSS_FILE', 'index.css');
|
||||||
|
|
||||||
|
// SIDEBAR_FILE
|
||||||
|
//
|
||||||
|
// The name of the page to be shown as sidebar (leave empty to disable sidebar feature)
|
||||||
|
|
||||||
|
define ('SIDEBAR_PAGE', '_sidebar');
|
||||||
|
|
||||||
|
// PAGE_TITLE
|
||||||
|
//
|
||||||
|
// A title prepended to the title head tag of all pages of the wiki
|
||||||
|
|
||||||
|
define ('PAGE_TITLE', 'Wiki: ');
|
||||||
|
|
||||||
// --------------------
|
// --------------------
|
||||||
// File upload settings
|
// File upload settings
|
||||||
// --------------------
|
// --------------------
|
||||||
|
@ -77,14 +93,14 @@ define('DISABLE_UPLOADS', false);
|
||||||
// Acceptable file types for file uploads. This is a good idea for security.
|
// Acceptable file types for file uploads. This is a good idea for security.
|
||||||
// Value is a comma-separated string of MIME types.
|
// Value is a comma-separated string of MIME types.
|
||||||
|
|
||||||
define('VALID_UPLOAD_TYPES', 'image/jpeg,image/pjpeg,image/png,image/gif,application/pdf,application/zip,application/x-diskcopy');
|
define('VALID_UPLOAD_TYPES', 'image/jpeg,image/pjpeg,image/png,image/gif,application/pdf');
|
||||||
|
|
||||||
// VALID_UPLOAD_EXTS
|
// VALID_UPLOAD_EXTS
|
||||||
//
|
//
|
||||||
// Acceptable filename extensions for file uploads
|
// Acceptable filename extensions for file uploads
|
||||||
// Value is a comma-separated string of filename extensions (case-sensitive!)
|
// Value is a comma-separated string of filename extensions (case-sensitive!)
|
||||||
|
|
||||||
define('VALID_UPLOAD_EXTS', 'jpg,jpeg,png,gif,pdf,zip,dmg');
|
define('VALID_UPLOAD_EXTS', 'jpg,jpeg,png,gif,pdf');
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
// Interface settings
|
// Interface settings
|
||||||
|
@ -95,6 +111,8 @@ define('VALID_UPLOAD_EXTS', 'jpg,jpeg,png,gif,pdf,zip,dmg');
|
||||||
// The format to use when displaying page modification times.
|
// The format to use when displaying page modification times.
|
||||||
// See the manual for the PHP 'date()' function for the specification:
|
// See the manual for the PHP 'date()' function for the specification:
|
||||||
// http://php.net/manual/en/function.date.php
|
// http://php.net/manual/en/function.date.php
|
||||||
|
// Note that these settings are overridden by the
|
||||||
|
// date_format/date_format_no_time in the used locale!
|
||||||
|
|
||||||
define('TITLE_DATE', 'j-M-Y g:i A');
|
define('TITLE_DATE', 'j-M-Y g:i A');
|
||||||
define('TITLE_DATE_NO_TIME', 'j-M-Y');
|
define('TITLE_DATE_NO_TIME', 'j-M-Y');
|
||||||
|
@ -113,13 +131,6 @@ define('EDIT_ROWS', 18);
|
||||||
|
|
||||||
define('AUTOLINK_PAGE_TITLES', false);
|
define('AUTOLINK_PAGE_TITLES', false);
|
||||||
|
|
||||||
// COLORIZE_MISSING_PAGES
|
|
||||||
//
|
|
||||||
// Automatically highlights as red links, any linked pages which are
|
|
||||||
// not yet written. Existing but blank pages are not colorized. This
|
|
||||||
// might degrade performance if you have thousands of links on a page.
|
|
||||||
|
|
||||||
define('COLORIZE_MISSING_PAGES', true);
|
|
||||||
|
|
||||||
// -----------------------------
|
// -----------------------------
|
||||||
// Security and session settings
|
// Security and session settings
|
||||||
|
@ -170,4 +181,36 @@ define('W2_SESSION_LIFETIME', 60 * 60 * 24 * 30);
|
||||||
|
|
||||||
define('W2_SESSION_NAME', 'W2');
|
define('W2_SESSION_NAME', 'W2');
|
||||||
|
|
||||||
?>
|
|
||||||
|
// -----------------------------
|
||||||
|
// Git Integration
|
||||||
|
// -----------------------------
|
||||||
|
|
||||||
|
// GIT_COMMIT_ENABLED
|
||||||
|
//
|
||||||
|
// Enable/Disable committing changes in page folder to local git repository
|
||||||
|
|
||||||
|
define('GIT_COMMIT_ENABLED', false);
|
||||||
|
|
||||||
|
// GIT_PUSH_ENABLED
|
||||||
|
//
|
||||||
|
// Enable/Disable pushing changes in page folder to a remote git repository
|
||||||
|
|
||||||
|
define('GIT_PUSH_ENABLED', false);
|
||||||
|
|
||||||
|
|
||||||
|
// -----------------------------
|
||||||
|
// Locale and encoding settings
|
||||||
|
// -----------------------------
|
||||||
|
|
||||||
|
// W2_CHARSET
|
||||||
|
//
|
||||||
|
// Value for meta charset.
|
||||||
|
|
||||||
|
define('W2_CHARSET', 'UTF-8');
|
||||||
|
|
||||||
|
// W2_LOCALE
|
||||||
|
//
|
||||||
|
// Name for locale.
|
||||||
|
|
||||||
|
define('W2_LOCALE', 'en');
|
||||||
|
|
12
icons/close.svg
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#232629;
|
||||||
|
}
|
||||||
|
.ColorScheme-NegativeText {
|
||||||
|
color:#da4453;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="ColorScheme-Text" d="m2 2v12h12v-12h-12m1 2h10v9h-10v-9" fill="#0f0f0f"/>
|
||||||
|
<path class="ColorScheme-NegativeText" d="m6.2 6l-.707.707 1.793 1.793-1.793 1.793.707.707 1.793-1.793 1.793 1.793.707-.707-1.793-1.793 1.793-1.793-.707-.707-1.793 1.793" fill="currentColor"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 556 B |
8
icons/delete-dark.svg
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-NegativeText {
|
||||||
|
color:#da4453;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="ColorScheme-NegativeText" d="m5 2v2h1v-1h4v1h1v-2h-5zm-3 3v1h2v8h8v-8h2v-1zm3 1h6v7h-6z" fill="currentColor"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 342 B |
8
icons/delete.svg
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-NegativeText {
|
||||||
|
color:#da4453;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="ColorScheme-NegativeText" d="m5 2v2h1v-1h4v1h1v-2h-5zm-3 3v1h2v8h8v-8h2v-1zm3 1h6v7h-6z" fill="currentColor"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 342 B |
8
icons/edit-dark.svg
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="ColorScheme-Text" d="m10.4 2-8.398 8.398v3.602h3.602l8.398-8.398-3.602-3.602zm-2.049 3.49 2.16 2.16-3.174 3.176v-0.6758l-1.014 0.02148h-1.035v-1.035-0.5859l1.441-1.439 1.621-1.621zm-4.076 4.074v1.621h1.035 0.9922l0.02148 0.6523-1.08 1.082h-1.441l-0.7207-0.7207v-1.441l1.193-1.193z" fill="#0f0f0f"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 522 B |
8
icons/edit.svg
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="ColorScheme-Text" d="m10.4 2-8.398 8.398v3.602h3.602l8.398-8.398-3.602-3.602zm-2.049 3.49 2.16 2.16-3.174 3.176v-0.6758l-1.014 0.02148h-1.035v-1.035-0.5859l1.441-1.439 1.621-1.621zm-4.076 4.074v1.621h1.035 0.9922l0.02148 0.6523-1.08 1.082h-1.441l-0.7207-0.7207v-1.441l1.193-1.193z" fill="#f0f0f0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 522 B |
8
icons/format-text-bold.svg
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="ColorScheme-Text" d="m2.375 2c-0.1285 0-0.2515 0.01355-0.375 0.03125v0.9688c0.5523 0 1 0.4477 1 1v8c0 0.5523-0.4477 1-1 1v0.9688c0.1235 0.018 0.2465 0.03125 0.375 0.03125h7.875c2.078 0 3.75-1.672 3.75-3.75 0-1.654-1.082-3.03-2.562-3.531 0.6331-0.4784 1.062-1.236 1.062-2.094 0-1.454-1.171-2.625-2.625-2.625h-7.5zm3.625 1h3c0.5523 0 1 0.8954 1 2s-0.4477 2-1 2h-3v-4zm0 5h3c0.05347 0 0.1038 0.0261 0.1562 0.03125 1.03 0.1012 1.844 1.155 1.844 2.469 0 1.381-0.8954 2.5-2 2.5h-3v-5z" fill="#f0f0f0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 720 B |
8
icons/format-text-code.svg
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="ColorScheme-Text" d="m9.09 2-3.146 11.74 0.9668 0.2598 3.146-11.74-0.9668-0.2598zm-3.805 2-2.961 3.145-0.3242 0.3477 0.3242 0.3457 2.943 3.162 0.7148-0.6953-2.621-2.812 2.639-2.797-0.7148-0.6953zm5.43 0-0.7148 0.6953 2.639 2.797-2.621 2.812 0.7148 0.6953 2.943-3.162 0.3242-0.3457-0.3242-0.3477-2.961-3.145z" fill="currentColor"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 554 B |
13
icons/format-text-italic.svg
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
||||||
|
<defs id="defs3051">
|
||||||
|
<style type="text/css" id="current-color-scheme">
|
||||||
|
.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<path style="fill:currentColor;fill-opacity:1;stroke:none"
|
||||||
|
d="M 5 2 L 5 3 L 6 3 L 9 3 L 4.71875 13 L 2 13 L 2 14 L 4.28125 14 L 6.28125 14 L 10 14 L 11 14 L 11 13 L 10 13 L 7 13 L 11.28125 3 L 14 3 L 14 2 L 11.71875 2 L 9.71875 2 L 6 2 L 5 2 z "
|
||||||
|
class="ColorScheme-Text"
|
||||||
|
/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 533 B |
8
icons/home.svg
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="ColorScheme-Text" d="m8 2-0.707 0.6992 0.003906 0.003906-5.297 5.295v0.001953 1h1.008v4h-0.007812v1h10v-1-4h1v-1-0.001953l-1.143-1.143-0.7012 0.7012 0.4434 0.4434h-0.5996v5h-3v-3h-2v3h-3v-4-1h-0.5996l4.598-4.596 0.001953 0.001953 0.001953-0.001953 1.441 1.439 0.7012-0.7012-1.441-1.439 0.003906-0.003906-0.707-0.6992zm3 1v3h1.008v-3h-1.008z" fill="#f0f0f0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 582 B |
BIN
icons/internet.png
Normal file
After Width: | Height: | Size: 886 B |
10
icons/link-dark.svg
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(-3 -1033)">
|
||||||
|
<path class="ColorScheme-Text" transform="translate(0 1030)" d="m4 7c-0.554 0-1 0.446-1 1v6c0 0.554 0.446 1 1 1h5c0.554 0 1-0.446 1-1v-1h2v1c0 0.554 0.446 1 1 1h5c0.554 0 1-0.446 1-1v-6c0-0.554-0.446-1-1-1h-5c-0.554 0-1 0.446-1 1v1h-2v-1c0-0.554-0.446-1-1-1zm0 1h5v1c-0.554 0-1 0.446-1 1v2c0 0.554 0.446 1 1 1v1h-5zm9 0h5v6h-5v-1c0.554 0 1-0.446 1-1v-2c0-0.554-0.446-1-1-1zm-4 2h4v2h-4z" fill="#0f0f0f"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 659 B |
10
icons/link.svg
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(-3 -1033)">
|
||||||
|
<path class="ColorScheme-Text" transform="translate(0 1030)" d="m4 7c-0.554 0-1 0.446-1 1v6c0 0.554 0.446 1 1 1h5c0.554 0 1-0.446 1-1v-1h2v1c0 0.554 0.446 1 1 1h5c0.554 0 1-0.446 1-1v-6c0-0.554-0.446-1-1-1h-5c-0.554 0-1 0.446-1 1v1h-2v-1c0-0.554-0.446-1-1-1zm0 1h3 2v1c-0.554 0-1 0.446-1 1v2c0 0.554 0.446 1 1 1v1h-2-3zm9 0h3 2v6h-2-3v-1c0.554 0 1-0.446 1-1v-2c0-0.554-0.446-1-1-1zm-4 2h4v2h-4z" fill="#f0f0f0"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 667 B |
8
icons/list.svg
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="ColorScheme-Text" d="m2 2v12h12v-12zm1 1h10v10h-10zm1 1v1h8v-1zm0 3v1h8v-1zm0 3v1h8v-1z" fill="#f0f0f0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 329 B |
13
icons/new.svg
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
||||||
|
<defs id="defs3051">
|
||||||
|
<style type="text/css" id="current-color-scheme">
|
||||||
|
.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<path style="fill:currentColor;fill-opacity:1;stroke:none"
|
||||||
|
d="M 3 2 L 3 14 L 8 14 L 8 13 L 4 13 L 4 3 L 9 3 L 9 6 L 12 6 L 12 9 L 13 9 L 13 6 L 13 5 L 10 2 L 9 2 L 3 2 z M 10 9 L 10 11 L 8 11 L 8 12 L 10 12 L 10 14 L 11 14 L 11 12 L 13 12 L 13 11 L 11 11 L 11 9 L 10 9 z "
|
||||||
|
class="ColorScheme-Text"
|
||||||
|
/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 559 B |
17
icons/rename-dark.svg
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" stroke="#0f0f0f">
|
||||||
|
<path d="m4.5 5v6" stroke-width="1px"/>
|
||||||
|
<g stroke-width="1px">
|
||||||
|
<path d="m3 4.5h3"/>
|
||||||
|
<path d="m3 11.5h3"/>
|
||||||
|
<path d="m8 11.5h2"/>
|
||||||
|
<path d="m11 11.5h2"/>
|
||||||
|
</g>
|
||||||
|
<rect x="1.5" y="2.5" width="13" height="11" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 519 B |
17
icons/rename.svg
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" stroke="#f0f0f0">
|
||||||
|
<path d="m4.5 5v6" stroke-width="1px"/>
|
||||||
|
<g stroke-width="1px">
|
||||||
|
<path d="m3 4.5h3"/>
|
||||||
|
<path d="m3 11.5h3"/>
|
||||||
|
<path d="m8 11.5h2"/>
|
||||||
|
<path d="m11 11.5h2"/>
|
||||||
|
</g>
|
||||||
|
<rect x="1.5" y="2.5" width="13" height="11" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 519 B |
8
icons/upload.svg
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<svg version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<defs>
|
||||||
|
<style id="current-color-scheme" type="text/css">.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}</style>
|
||||||
|
</defs>
|
||||||
|
<path class="ColorScheme-Text" d="m2 2v11.28 0.7188h12v-1-1-1-1-3h-1v2l-2-2-3.344 3.344-1.344-1.344h-0.03125l-3.281 3.281v-9.281h6v-1h-7zm9 5h1v-3.086l2 2v-1.414l-2.5-2.5-2.5 2.5v1.414l2-2v3.086zm-5-3c-1.105 0-2 0.8954-2 2s0.8954 2 2 2 2-0.8954 2-2-0.8954-2-2-2z" fill="#f0f0f0"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 491 B |
BIN
icons/w2-icon.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
4
images/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Ignore everything
|
||||||
|
*
|
||||||
|
# except this file
|
||||||
|
!.gitignore
|
317
index.css
|
@ -8,32 +8,26 @@
|
||||||
*
|
*
|
||||||
* Written with Coda: <http://panic.com/coda/>
|
* Written with Coda: <http://panic.com/coda/>
|
||||||
*
|
*
|
||||||
|
* colors icons:
|
||||||
|
* 240,240,240
|
||||||
|
* dark: 15, 15, 15
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.main {
|
|
||||||
background-color: #000000;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
background-color: #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
* {
|
* {
|
||||||
font-family: Monospace;
|
font-family: Monospace;
|
||||||
font-size: 11px;
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
body {
|
||||||
color: #6666ff;
|
background-color: #222222;
|
||||||
}
|
}
|
||||||
|
|
||||||
blockquote {
|
blockquote {
|
||||||
background-color: #0f070f;
|
background-color: #0f070f;
|
||||||
margin: 0px 0px 12px 20px;
|
margin: 4px 4px 12px 20px;
|
||||||
padding-top: 4px 10px 4px 10px;
|
padding: 4px 10px 4px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
form {
|
form {
|
||||||
|
@ -45,21 +39,26 @@ li {
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 20px;
|
font-size: 2em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 4px;
|
||||||
|
/*margin-top: .6em;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 16px;
|
font-size: 1.2em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 4px;
|
||||||
|
margin-top: .5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 13px;
|
font-size: 1.2em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin-bottom: 8px;
|
}
|
||||||
|
h3, h4, h5, h6 {
|
||||||
|
margin-top: .4em;
|
||||||
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
|
@ -71,29 +70,32 @@ hr {
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul {
|
ul,
|
||||||
padding-left: 12px;
|
ol {
|
||||||
margin-left: 12px;
|
margin-top: .5em;
|
||||||
margin-bottom: 12px;
|
margin-left: 1em;
|
||||||
list-style-position: inside;
|
padding-left: 1em;
|
||||||
|
list-style-position: outside;
|
||||||
}
|
}
|
||||||
|
|
||||||
ol {
|
ul li, ol li {
|
||||||
margin-left: 12px;
|
padding-left: .5em;
|
||||||
margin-bottom: 12px;
|
}
|
||||||
padding-left: 12px;
|
|
||||||
list-style-position: inside;
|
li > ul, li > ol
|
||||||
|
{
|
||||||
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
margin: 12px 12px 12px 12px;
|
margin-top: .5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
font-family: Monospace, monospace;
|
font-family: Monospace;
|
||||||
font-size: 11px;
|
margin-left: 0;
|
||||||
margin-left: 12px;
|
margin-bottom: .5em;
|
||||||
margin-bottom: 12px;
|
margin-top: .5em;
|
||||||
|
|
||||||
/* stroke each browser so that they wrap lines in the pre tag */
|
/* stroke each browser so that they wrap lines in the pre tag */
|
||||||
white-space: pre-wrap; /* css-3 */
|
white-space: pre-wrap; /* css-3 */
|
||||||
|
@ -101,84 +103,279 @@ pre {
|
||||||
white-space: -pre-wrap; /* Opera 4-6 */
|
white-space: -pre-wrap; /* Opera 4-6 */
|
||||||
white-space: -o-pre-wrap; /* Opera 7 */
|
white-space: -o-pre-wrap; /* Opera 7 */
|
||||||
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||||
|
|
||||||
|
background: #000000;
|
||||||
|
border: 1px dotted gray;
|
||||||
|
padding: .2em .2em .2em .4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
code {
|
||||||
font-family: Monospace, monospace;
|
font-family: Monospace;
|
||||||
font-size: 11px;
|
background: #000000;
|
||||||
|
color: #bbbbbb;
|
||||||
|
padding: .1em .1em .1em .2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
table {
|
table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
}
|
padding: .2em;
|
||||||
|
max-width: 99%;
|
||||||
table, td {
|
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
padding: 2px;
|
color: #dddddd;
|
||||||
|
}
|
||||||
|
th {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
td, th {
|
||||||
|
padding: .1em 1em .1em .1em;
|
||||||
|
word-break: break-all;
|
||||||
|
background: #000000;
|
||||||
|
}
|
||||||
|
thead {
|
||||||
|
border-bottom: 1px solid black;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
thead td a {
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
thead td span.sortBy:after {
|
||||||
|
content: "\25BC";
|
||||||
|
}
|
||||||
|
tr:nth-child(even) {
|
||||||
|
background: #e4e4e4;
|
||||||
|
}
|
||||||
|
tr:nth-child(odd) {
|
||||||
|
background: #eeeeee;
|
||||||
|
}
|
||||||
|
.pageActions {
|
||||||
|
padding-left: 8px;
|
||||||
|
padding-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea {
|
textarea {
|
||||||
font-family: Monospace, Courier, monospace;
|
font-family: Monospace;
|
||||||
font-size: 11px;
|
width: 75%;
|
||||||
width: 99%;
|
|
||||||
background-color: #000011;
|
background-color: #000011;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
@media (max-width: 600px), (orientation: portrait) {
|
||||||
|
textarea {
|
||||||
|
width: 99%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="text"],
|
||||||
|
textarea {
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
font-family: Monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
input#gitmsg
|
||||||
|
{
|
||||||
|
width: 60%;
|
||||||
|
}
|
||||||
|
|
||||||
.main {
|
.main {
|
||||||
padding: 8px;
|
padding: .3em .3em .3em 1em;
|
||||||
|
background-color: #000000;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* the globe */
|
||||||
|
.main a[href^="http"]::after {
|
||||||
|
/*content: url('/icons/internet.png');*/
|
||||||
|
}
|
||||||
|
|
||||||
|
.main a.literalMatch {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #00f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main a.noexist {
|
||||||
|
color: #b00 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login {
|
||||||
|
margin: 40px auto;
|
||||||
|
max-width: 650px;
|
||||||
|
line-height: 1.4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.note {
|
.note {
|
||||||
background-color: #000011;
|
background-color: #000011;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
margin: 0 8px 8px 8px;
|
margin: .5em 0 .5em 0;
|
||||||
color: #9999bb;
|
color: #9999bb;
|
||||||
border: solid 1px #9999bb;
|
border: solid 1px #9999bb;
|
||||||
|
width: 75%;
|
||||||
|
}
|
||||||
|
@media (max-width: 600px), (orientation: portrait) {
|
||||||
|
.note {
|
||||||
|
width: 99%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.titlebar {
|
.titlebar {
|
||||||
background-color: #111111;
|
background-color: #111111;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titlebar span.title {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.titledate {
|
.titledate {
|
||||||
font-size: 10px;
|
font-size: 0.90em;
|
||||||
color: #777777;
|
color: #777777;
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.toolbar {
|
.toolbar {
|
||||||
background-color: #222222;
|
background-color: #222222;
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
font-size: 8px;
|
font-size: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.tool {
|
.toolbar > a, .titlebar > a {
|
||||||
font-size: 11px;
|
font-size: 0.90em;
|
||||||
margin-right: 8px;
|
margin-right: 1em;
|
||||||
color: #eeeeee;
|
color: #eeeeee;
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.missing-link {
|
.toolbar > a:hover, .titlebar > a:hover {
|
||||||
color: #ed123e;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
input {
|
.sidebar {
|
||||||
background-color: #111111;
|
float: right;
|
||||||
color: #ffffff;
|
}
|
||||||
|
.sidebar, .linkshere {
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding: 4px;
|
||||||
|
border: solid 1px #666644;
|
||||||
|
}
|
||||||
|
.sidebar ul {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-left: 4px;
|
||||||
|
}
|
||||||
|
.linkshere {
|
||||||
|
width: 50%;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
@media (max-width: 600px), (orientation: portrait) {
|
||||||
|
.sidebar, .linkshere {
|
||||||
|
margin-left: 5px;
|
||||||
|
float: none;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
input.tool {
|
input.search {
|
||||||
font-size: 11px;
|
/* font-size: 0.95em;*/
|
||||||
|
color: #000000;
|
||||||
|
width: 5em;
|
||||||
|
padding: .1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
input.search:focus {
|
||||||
|
width: 15em;
|
||||||
|
}
|
||||||
|
|
||||||
|
input.pagename {
|
||||||
|
width: 20em;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="button"],
|
||||||
|
input[type="submit"] {
|
||||||
|
border:none;
|
||||||
|
border-radius: 3px;
|
||||||
|
padding: .5em 1em;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-right: .5em;
|
||||||
|
}
|
||||||
|
#maxsizelabel {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="submit"] {
|
||||||
|
/*background-color: rgb(22, 101, 201);*/
|
||||||
background-color: #222222;
|
background-color: #222222;
|
||||||
color: #ffffff;
|
color: white;
|
||||||
|
}
|
||||||
|
input[type="button"] {
|
||||||
|
background-color: rgb(220, 220, 220);
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="submit"]:hover {
|
||||||
|
/*background-color: rgb(69, 135, 226);*/
|
||||||
|
background-color: #222222;
|
||||||
|
}
|
||||||
|
input[type="button"]:hover {
|
||||||
|
background-color: rgb(200, 200, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
max-width: 50%;
|
max-width: 50%;
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#drawer {
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
width: 300px;
|
||||||
|
background-color: rgb(240, 240, 240);
|
||||||
|
opacity: 0.5;
|
||||||
|
border: 1px solid black;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 0;
|
||||||
|
cursor: move;
|
||||||
|
}
|
||||||
|
#drawer h5 {
|
||||||
|
border-bottom: 1px solid black;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
#drawer div {
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
#drawer:hover {
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
.inactive {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
img.icon {
|
||||||
|
width: 1.5em;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
a > img.icon:hover, a > span.icongroup:hover {
|
||||||
|
outline: 1px outset white;
|
||||||
|
}
|
||||||
|
a > img.icon:active, a > span.icongroup:active {
|
||||||
|
outline: 1px inset white;
|
||||||
|
}
|
||||||
|
.rightaligned
|
||||||
|
{
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
input.search {
|
||||||
|
border-color: #222222;
|
||||||
|
border-width: 0px;
|
||||||
|
background-color: #222222;
|
||||||
|
color: #ffffff;
|
||||||
|
width: 165px
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar {
|
||||||
|
color: #aaaaaa;
|
||||||
|
border-color: #aaaaaa;
|
||||||
|
}
|
||||||
|
|
362
index.css.2
Normal file
|
@ -0,0 +1,362 @@
|
||||||
|
/*
|
||||||
|
* W2
|
||||||
|
*
|
||||||
|
* Copyright (C) 2007-2011 Steven Frank <http://stevenf.com/>
|
||||||
|
*
|
||||||
|
* Code may be re-used as long as the above copyright notice is retained.
|
||||||
|
* See README.txt for full details.
|
||||||
|
*
|
||||||
|
* Written with Coda: <http://panic.com/coda/>
|
||||||
|
*
|
||||||
|
* colors icons:
|
||||||
|
* 240,240,240
|
||||||
|
* dark: 15, 15, 15
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: Monospace;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #eeeeee;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
background-color: #0f070f;
|
||||||
|
margin: 4px 4px 12px 20px;
|
||||||
|
padding: 4px 10px 4px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
form {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
li {
|
||||||
|
line-height: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
margin-top: .6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.6em;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
margin-top: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.2em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
h3, h4, h5, h6 {
|
||||||
|
margin-top: .4em;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border-top: 1px solid #222222;
|
||||||
|
border-bottom: 0;
|
||||||
|
border-left: 0;
|
||||||
|
border-right: 0;
|
||||||
|
margin-top: 12px;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
margin-top: .5em;
|
||||||
|
margin-left: 1em;
|
||||||
|
padding-left: 1em;
|
||||||
|
list-style-position: outside;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul li, ol li {
|
||||||
|
padding-left: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
li > ul, li > ol
|
||||||
|
{
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-top: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
font-family: Monospace;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-bottom: .5em;
|
||||||
|
margin-top: .5em;
|
||||||
|
|
||||||
|
/* stroke each browser so that they wrap lines in the pre tag */
|
||||||
|
white-space: pre-wrap; /* css-3 */
|
||||||
|
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
|
||||||
|
white-space: -pre-wrap; /* Opera 4-6 */
|
||||||
|
white-space: -o-pre-wrap; /* Opera 7 */
|
||||||
|
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||||
|
|
||||||
|
background: #ffc;
|
||||||
|
border: 1px dotted gray;
|
||||||
|
padding: .2em .2em .2em .4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: Monospace;
|
||||||
|
background: #ffc;
|
||||||
|
padding: .1em .1em 0 .2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
padding: .2em;
|
||||||
|
max-width: 99%;
|
||||||
|
background-color: #000000;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
th {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
td, th {
|
||||||
|
padding: .1em 1em .1em .1em;
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
thead {
|
||||||
|
border-bottom: 1px solid black;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
thead td a {
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
thead td span.sortBy:after {
|
||||||
|
content: "\25BC";
|
||||||
|
}
|
||||||
|
tr:nth-child(even) {
|
||||||
|
background: #e4e4e4;
|
||||||
|
}
|
||||||
|
tr:nth-child(odd) {
|
||||||
|
background: #eeeeee;
|
||||||
|
}
|
||||||
|
.pageActions {
|
||||||
|
padding-left: 8px;
|
||||||
|
padding-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
font-family: Monospace;
|
||||||
|
width: 75%;
|
||||||
|
background-color: #000011;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
@media (max-width: 600px), (orientation: portrait) {
|
||||||
|
textarea {
|
||||||
|
width: 99%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="text"],
|
||||||
|
textarea {
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
input#gitmsg
|
||||||
|
{
|
||||||
|
width: 60%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
padding: .3em .3em .3em 1em;
|
||||||
|
background-color: #000000;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main a[href^="http"]::after {
|
||||||
|
content: url('/icons/internet.png');
|
||||||
|
}
|
||||||
|
|
||||||
|
.main a.literalMatch {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #00f;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main a.noexist {
|
||||||
|
color: #b00 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login {
|
||||||
|
margin: 40px auto;
|
||||||
|
max-width: 650px;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.note {
|
||||||
|
background-color: #000011;
|
||||||
|
padding: 4px;
|
||||||
|
margin: .5em 0 .5em 0;
|
||||||
|
color: #9999bb;
|
||||||
|
border: solid 1px #9999bb;
|
||||||
|
width: 75%;
|
||||||
|
}
|
||||||
|
@media (max-width: 600px), (orientation: portrait) {
|
||||||
|
.note {
|
||||||
|
width: 99%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.titlebar {
|
||||||
|
background-color: #111111;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titlebar span.title {
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titledate {
|
||||||
|
font-size: 0.90em;
|
||||||
|
color: #777777;
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toolbar {
|
||||||
|
background-color: #222222;
|
||||||
|
position: sticky;
|
||||||
|
top: 0;
|
||||||
|
font-size: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toolbar > a, .titlebar > a {
|
||||||
|
font-size: 0.90em;
|
||||||
|
margin-right: 1em;
|
||||||
|
color: #eeeeee;
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toolbar > a:hover, .titlebar > a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.sidebar, .linkshere {
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-top: 5px;
|
||||||
|
padding: 4px;
|
||||||
|
border: solid 1px #666644;
|
||||||
|
}
|
||||||
|
.sidebar ul {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-left: 4px;
|
||||||
|
}
|
||||||
|
.linkshere {
|
||||||
|
width: 50%;
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
@media (max-width: 600px), (orientation: portrait) {
|
||||||
|
.sidebar, .linkshere {
|
||||||
|
margin-left: 5px;
|
||||||
|
float: none;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
input.search {
|
||||||
|
/* font-size: 0.95em;*/
|
||||||
|
color: #000000;
|
||||||
|
width: 5em;
|
||||||
|
padding: .1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
input.search:focus {
|
||||||
|
width: 15em;
|
||||||
|
}
|
||||||
|
|
||||||
|
input.pagename {
|
||||||
|
width: 20em;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="button"],
|
||||||
|
input[type="submit"] {
|
||||||
|
border:none;
|
||||||
|
border-radius: 3px;
|
||||||
|
padding: .5em 1em;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-right: .5em;
|
||||||
|
}
|
||||||
|
#maxsizelabel {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="submit"] {
|
||||||
|
background-color: rgb(30, 101, 201);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
input[type="button"] {
|
||||||
|
background-color: rgb(220, 220, 220);
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="submit"]:hover {
|
||||||
|
background-color: rgb(69, 135, 226);
|
||||||
|
}
|
||||||
|
input[type="button"]:hover {
|
||||||
|
background-color: rgb(200, 200, 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#drawer {
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
width: 300px;
|
||||||
|
background-color: rgb(240, 240, 240);
|
||||||
|
opacity: 0.5;
|
||||||
|
border: 1px solid black;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 0;
|
||||||
|
cursor: move;
|
||||||
|
}
|
||||||
|
#drawer h5 {
|
||||||
|
border-bottom: 1px solid black;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
#drawer div {
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
#drawer:hover {
|
||||||
|
opacity: 1.0;
|
||||||
|
}
|
||||||
|
.inactive {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
img.icon {
|
||||||
|
width: 1.5em;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
a > img.icon:hover, a > span.icongroup:hover {
|
||||||
|
outline: 1px outset white;
|
||||||
|
}
|
||||||
|
a > img.icon:active, a > span.icongroup:active {
|
||||||
|
outline: 1px inset white;
|
||||||
|
}
|
||||||
|
a.missing-link {
|
||||||
|
color: #ba0000;
|
||||||
|
}
|
||||||
|
.rightaligned
|
||||||
|
{
|
||||||
|
float: right;
|
||||||
|
}
|
65
locales/de.php
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
<?php if (!defined('W2APP')){ die('No direct access.'); }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Locale set
|
||||||
|
*
|
||||||
|
* Do not change variable name $w2_word_set.
|
||||||
|
* Rewrite values in your locale and rename this file to locale code.
|
||||||
|
* Set "LOCALE" to your locale in config.php.
|
||||||
|
*/
|
||||||
|
$w2_word_set = array(
|
||||||
|
// Buttons / Labels
|
||||||
|
'Home' => 'Start',
|
||||||
|
'New' => 'Neu',
|
||||||
|
'Edit' => 'Bearbeiten',
|
||||||
|
'Delete' => 'Löschen',
|
||||||
|
'Rename' => 'Umbenennen',
|
||||||
|
'Created' => 'Angelegt',
|
||||||
|
'Upload' => 'Hochladen',
|
||||||
|
'All' => 'Alle',
|
||||||
|
'Recent' => 'Zuletzt',
|
||||||
|
'Exit' => 'Ausloggen',
|
||||||
|
'Search' => 'Suchen',
|
||||||
|
'Formatting help' => 'Formatierungshilfe',
|
||||||
|
'Bold' => 'Fett',
|
||||||
|
'Emphasize' => 'Kursiv',
|
||||||
|
'Header' => 'Überschrift',
|
||||||
|
'Save' => 'Speichern',
|
||||||
|
'Cancel' => 'Abbrechen',
|
||||||
|
'Saved' => 'Gespeichert',
|
||||||
|
'Log In' => 'Einloggen',
|
||||||
|
'Log Out' => 'Ausloggen',
|
||||||
|
'Password' => 'Passwort',
|
||||||
|
'Title' => 'Titel',
|
||||||
|
'Image Description' => 'Bildbeschreibung',
|
||||||
|
'Name' => 'Name',
|
||||||
|
'Usage' => 'Verwendung',
|
||||||
|
'Modified' => 'Verändert',
|
||||||
|
'Action' => 'Aktion',
|
||||||
|
'Total' => 'Gesamt',
|
||||||
|
'images' => 'Bilder',
|
||||||
|
'matches' => 'Übereinstimmung(en)',
|
||||||
|
'pages' => 'Seite(n)',
|
||||||
|
'Create page' => 'Seite anlegen',
|
||||||
|
'to' => 'in',
|
||||||
|
'Shrink if larger than ' => 'Verkleinern wenn größer als ',
|
||||||
|
'Pixels' => 'Pixel',
|
||||||
|
'What links here:' => 'Seiten die hierher linken:',
|
||||||
|
'Close' => 'Schließen',
|
||||||
|
// Messages
|
||||||
|
'Upload error' => 'Fehler beim Hochladen',
|
||||||
|
'Upload error: invalid file type' => 'Fehler beim Hochladen: Dieser Dateityp ist nicht zugelassen, bitte wende Dich an deinen Administrator!',
|
||||||
|
'Image uploading has been disabled on this installation.' => 'Hochladen ist nicht erlaubt, bitte wende Dich an deinen Administrator!',
|
||||||
|
'Creating new page since no page with given title exists!' => 'Es wird eine neue Seite angelegt, weil noch keine Seite mit dem angegebenen Titel existiert!',
|
||||||
|
'Updated links in the following pages:' => 'Es wurden Links in den folgenden Seiten aktualisiert:',
|
||||||
|
'Error deleting file' => 'Fehler beim Löschen der Datei',
|
||||||
|
'Error renaming file' => 'Fehler beim Umbenennen der Datei',
|
||||||
|
'Sidebar file could not be found' => 'Seitenleisten-Datei nicht gefunden',
|
||||||
|
'Name of new page (restrictions in tip)' => 'Seitenname (Einschränkungen im Tip)',
|
||||||
|
"Character restrictions: '#' and '|' have a special meaning in page links, they will therefore be removed; also, characters '~', '/', '\\', ':', '|', '&' might cause trouble in filenames and are therefore replaced by '-'." => "Buchstaben-Beschränkungen: '#' und '|' haben eine spezielle Bedeutung in Links, sie werden deshalb entfernt. Weiters können die Zeichen '~', '/', '\\', ':', '|', '&' Probleme in Dateinamen verursachen, und werden deshalb durch einen Bindestrich '-' ersetzt.",
|
||||||
|
'Image deleted' => 'Bild gelöscht',
|
||||||
|
'Error deleting image' => 'Fehler beim Löschen des Bildes',
|
||||||
|
// Override TITLE_DATE and TITLE_DATE_NO_TIME if set.
|
||||||
|
'date_format' => 'd.m.Y H:i',
|
||||||
|
'date_format_no_time' => 'd.m.Y',
|
||||||
|
);
|
32
locales/en.php
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
<?php if (!defined('W2APP')){ die('No direct access.'); }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Locale set
|
||||||
|
*
|
||||||
|
* Do not change variable name $w2_word_set.
|
||||||
|
* Rewrite values in your locale and rename this file to locale code.
|
||||||
|
* Set "LOCALE" to your locale in config.php.
|
||||||
|
*/
|
||||||
|
$w2_word_set = array(
|
||||||
|
// Buttons / Labels
|
||||||
|
'Home' => 'Home',
|
||||||
|
'New' => 'New',
|
||||||
|
'Edit' => 'Edit',
|
||||||
|
'Upload' => 'Upload',
|
||||||
|
'All' => 'All',
|
||||||
|
'Recent' => 'Recent',
|
||||||
|
'Exit' => 'Exit',
|
||||||
|
'Search' => 'Search',
|
||||||
|
'Save' => 'Save',
|
||||||
|
'Cancel' => 'Cancel',
|
||||||
|
'Saved' => 'Saved',
|
||||||
|
'Log In' => 'Log In',
|
||||||
|
'Title' => 'Title',
|
||||||
|
// Messages
|
||||||
|
'Upload error' => 'Upload error',
|
||||||
|
'Upload error: invalid file type' => 'Upload error: invalid file type',
|
||||||
|
'Image uploading has been disabled on this installation.' => 'Image uploading has been disabled on this installation.',
|
||||||
|
// Override TITLE_DATE and TITLE_DATE_NO_TIME if set.
|
||||||
|
'date_format' => 'Y-m-d H:i:s',
|
||||||
|
'date_format_no_time' => 'Y-m-d',
|
||||||
|
);
|
32
locales/ja.php
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
<?php if (!defined('W2APP')){ die('No direct access.'); }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Locale set
|
||||||
|
*
|
||||||
|
* Do not change variable name $w2_word_set.
|
||||||
|
* Rewrite values in your locale and rename this file to locale code.
|
||||||
|
* Set "LOCALE" to your locale in config.php.
|
||||||
|
*/
|
||||||
|
$w2_word_set = array(
|
||||||
|
// Buttons / Labels
|
||||||
|
'Home' => 'ホーム',
|
||||||
|
'New' => '新規',
|
||||||
|
'Edit' => '編集',
|
||||||
|
'Upload' => 'アップロード',
|
||||||
|
'All' => '全て',
|
||||||
|
'Recent' => '最近',
|
||||||
|
'Exit' => 'ログアウト',
|
||||||
|
'Search' => '検索',
|
||||||
|
'Save' => '保存',
|
||||||
|
'Cancel' => 'キャンセル',
|
||||||
|
'Saved' => '保存しました',
|
||||||
|
'Log In' => 'ログイン',
|
||||||
|
'Title' => 'ページタイトル',
|
||||||
|
// Messages
|
||||||
|
'Upload error' => 'アップロードエラー',
|
||||||
|
'Upload error: invalid file type' => 'アップロードエラー:不正なファイル形式です',
|
||||||
|
'Image uploading has been disabled on this installation.' => '画像アップロードは許可されていません。',
|
||||||
|
// Override TITLE_DATE and TITLE_DATE_NO_TIME if set.
|
||||||
|
'date_format' => 'Y-m-d H:i:s',
|
||||||
|
'date_format_no_time' => 'Y-m-d',
|
||||||
|
);
|
32
locales/sample.php
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
<?php if (!defined('W2APP')){ die('No direct access.'); }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Locale set
|
||||||
|
*
|
||||||
|
* Do not change variable name $w2_word_set.
|
||||||
|
* Rewrite values in your locale and rename this file to locale code.
|
||||||
|
* Set "LOCALE" to your locale in config.php.
|
||||||
|
*/
|
||||||
|
$w2_word_set = array(
|
||||||
|
// Buttons / Labels
|
||||||
|
'Home' => 'Home',
|
||||||
|
'New' => 'New',
|
||||||
|
'Edit' => 'Edit',
|
||||||
|
'Upload' => 'Upload',
|
||||||
|
'All' => 'All',
|
||||||
|
'Recent' => 'Recent',
|
||||||
|
'Exit' => 'Exit',
|
||||||
|
'Search' => 'Search',
|
||||||
|
'Save' => 'Save',
|
||||||
|
'Cancel' => 'Cancel',
|
||||||
|
'Saved' => 'Saved',
|
||||||
|
'Log In' => 'Log In',
|
||||||
|
'Title' => 'Title',
|
||||||
|
// Messages
|
||||||
|
'Upload error' => 'Upload error',
|
||||||
|
'Upload error: invalid file type' => 'Upload error: invalid file type',
|
||||||
|
'Image uploading has been disabled on this installation.' => 'Image uploading has been disabled on this installation.',
|
||||||
|
// Override TITLE_DATE and TITLE_DATE_NO_TIME if set.
|
||||||
|
'date_format' => 'Y-m-d H:i:s',
|
||||||
|
'date_format_no_time' => 'Y-m-d',
|
||||||
|
);
|
|
@ -8,7 +8,7 @@
|
||||||
* @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
|
* @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace mdlibs;
|
namespace md;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Markdown Parser Class
|
* Markdown Parser Class
|
||||||
|
@ -18,7 +18,7 @@ class Markdown implements MarkdownInterface {
|
||||||
* Define the package version
|
* Define the package version
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
const MARKDOWNLIB_VERSION = "2.0";
|
const MARKDOWNLIB_VERSION = "1.9.0";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simple function interface - Initialize the parser and return the result
|
* Simple function interface - Initialize the parser and return the result
|
||||||
|
@ -31,7 +31,7 @@ class Markdown implements MarkdownInterface {
|
||||||
*/
|
*/
|
||||||
public static function defaultTransform($text) {
|
public static function defaultTransform($text) {
|
||||||
// Take parser class on which this function was called.
|
// Take parser class on which this function was called.
|
||||||
$parser_class = static::class;
|
$parser_class = \get_called_class();
|
||||||
|
|
||||||
// Try to take parser from the static parser list
|
// Try to take parser from the static parser list
|
||||||
static $parser_list;
|
static $parser_list;
|
||||||
|
@ -49,18 +49,22 @@ class Markdown implements MarkdownInterface {
|
||||||
/**
|
/**
|
||||||
* Configuration variables
|
* Configuration variables
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change to ">" for HTML output.
|
* Change to ">" for HTML output.
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $empty_element_suffix = " />";
|
public $empty_element_suffix = " />";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The width of indentation of the output markup
|
* The width of indentation of the output markup
|
||||||
|
* @var int
|
||||||
*/
|
*/
|
||||||
public $tab_width = 4;
|
public $tab_width = 4;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change to `true` to disallow markup or entities.
|
* Change to `true` to disallow markup or entities.
|
||||||
|
* @var boolean
|
||||||
*/
|
*/
|
||||||
public $no_markup = false;
|
public $no_markup = false;
|
||||||
public $no_entities = false;
|
public $no_entities = false;
|
||||||
|
@ -74,6 +78,7 @@ class Markdown implements MarkdownInterface {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Predefined URLs and titles for reference links and images.
|
* Predefined URLs and titles for reference links and images.
|
||||||
|
* @var array
|
||||||
*/
|
*/
|
||||||
public $predef_urls = array();
|
public $predef_urls = array();
|
||||||
public $predef_titles = array();
|
public $predef_titles = array();
|
||||||
|
@ -116,15 +121,19 @@ class Markdown implements MarkdownInterface {
|
||||||
* <li>List item two</li>
|
* <li>List item two</li>
|
||||||
* <li>List item three</li>
|
* <li>List item three</li>
|
||||||
* </ol>
|
* </ol>
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
*/
|
*/
|
||||||
public $enhanced_ordered_list = false;
|
public $enhanced_ordered_list = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parser implementation
|
* Parser implementation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Regex to match balanced [brackets].
|
* Regex to match balanced [brackets].
|
||||||
* Needed to insert a maximum bracked depth while converting to PHP.
|
* Needed to insert a maximum bracked depth while converting to PHP.
|
||||||
|
* @var int
|
||||||
*/
|
*/
|
||||||
protected $nested_brackets_depth = 6;
|
protected $nested_brackets_depth = 6;
|
||||||
protected $nested_brackets_re;
|
protected $nested_brackets_re;
|
||||||
|
@ -134,6 +143,7 @@ class Markdown implements MarkdownInterface {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Table of hash values for escaped characters:
|
* Table of hash values for escaped characters:
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $escape_chars = '\`*_{}[]()>#+-.!';
|
protected $escape_chars = '\`*_{}[]()>#+-.!';
|
||||||
protected $escape_chars_re;
|
protected $escape_chars_re;
|
||||||
|
@ -165,6 +175,7 @@ class Markdown implements MarkdownInterface {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Internal hashes used during transformation.
|
* Internal hashes used during transformation.
|
||||||
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $urls = array();
|
protected $urls = array();
|
||||||
protected $titles = array();
|
protected $titles = array();
|
||||||
|
@ -172,11 +183,13 @@ class Markdown implements MarkdownInterface {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Status flag to avoid invalid nesting.
|
* Status flag to avoid invalid nesting.
|
||||||
|
* @var boolean
|
||||||
*/
|
*/
|
||||||
protected $in_anchor = false;
|
protected $in_anchor = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Status flag to avoid invalid nesting.
|
* Status flag to avoid invalid nesting.
|
||||||
|
* @var boolean
|
||||||
*/
|
*/
|
||||||
protected $in_emphasis_processing = false;
|
protected $in_emphasis_processing = false;
|
||||||
|
|
||||||
|
@ -250,6 +263,7 @@ class Markdown implements MarkdownInterface {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Define the document gamut
|
* Define the document gamut
|
||||||
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $document_gamut = array(
|
protected $document_gamut = array(
|
||||||
// Strip link definitions, store in hashes.
|
// Strip link definitions, store in hashes.
|
||||||
|
@ -511,6 +525,7 @@ class Markdown implements MarkdownInterface {
|
||||||
/**
|
/**
|
||||||
* Define the block gamut - these are all the transformations that form
|
* Define the block gamut - these are all the transformations that form
|
||||||
* block-level tags like paragraphs, headers, and list items.
|
* block-level tags like paragraphs, headers, and list items.
|
||||||
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $block_gamut = array(
|
protected $block_gamut = array(
|
||||||
"doHeaders" => 10,
|
"doHeaders" => 10,
|
||||||
|
@ -582,6 +597,7 @@ class Markdown implements MarkdownInterface {
|
||||||
/**
|
/**
|
||||||
* These are all the transformations that occur *within* block-level
|
* These are all the transformations that occur *within* block-level
|
||||||
* tags like paragraphs, headers, and list items.
|
* tags like paragraphs, headers, and list items.
|
||||||
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $span_gamut = array(
|
protected $span_gamut = array(
|
||||||
// Process character escapes, code spans, and inline HTML
|
// Process character escapes, code spans, and inline HTML
|
||||||
|
@ -708,7 +724,7 @@ class Markdown implements MarkdownInterface {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Callback method to parse referenced anchors
|
* Callback method to parse referenced anchors
|
||||||
* @param array $matches
|
* @param string $matches
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
protected function _doAnchors_reference_callback($matches) {
|
protected function _doAnchors_reference_callback($matches) {
|
||||||
|
@ -747,7 +763,7 @@ class Markdown implements MarkdownInterface {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Callback method to parse inline anchors
|
* Callback method to parse inline anchors
|
||||||
* @param array $matches
|
* @param string $matches
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
protected function _doAnchors_inline_callback($matches) {
|
protected function _doAnchors_inline_callback($matches) {
|
||||||
|
@ -765,7 +781,7 @@ class Markdown implements MarkdownInterface {
|
||||||
$url = $this->encodeURLAttribute($url);
|
$url = $this->encodeURLAttribute($url);
|
||||||
|
|
||||||
$result = "<a href=\"$url\"";
|
$result = "<a href=\"$url\"";
|
||||||
if ($title) {
|
if (isset($title)) {
|
||||||
$title = $this->encodeAttribute($title);
|
$title = $this->encodeAttribute($title);
|
||||||
$result .= " title=\"$title\"";
|
$result .= " title=\"$title\"";
|
||||||
}
|
}
|
||||||
|
@ -1089,6 +1105,7 @@ class Markdown implements MarkdownInterface {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Nesting tracker for list levels
|
* Nesting tracker for list levels
|
||||||
|
* @var integer
|
||||||
*/
|
*/
|
||||||
protected $list_level = 0;
|
protected $list_level = 0;
|
||||||
|
|
||||||
|
@ -1259,8 +1276,9 @@ class Markdown implements MarkdownInterface {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Container for prepared regular expressions
|
* Container for prepared regular expressions
|
||||||
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $em_strong_prepared_relist = null;
|
protected $em_strong_prepared_relist;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prepare regular expressions for searching emphasis tokens in any
|
* Prepare regular expressions for searching emphasis tokens in any
|
||||||
|
@ -1808,7 +1826,7 @@ class Markdown implements MarkdownInterface {
|
||||||
/**
|
/**
|
||||||
* String length function for detab. `_initDetab` will create a function to
|
* String length function for detab. `_initDetab` will create a function to
|
||||||
* handle UTF-8 if the default function does not exist.
|
* handle UTF-8 if the default function does not exist.
|
||||||
* can be a string or function
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $utf8_strlen = 'mb_strlen';
|
protected $utf8_strlen = 'mb_strlen';
|
||||||
|
|
||||||
|
@ -1865,7 +1883,9 @@ class Markdown implements MarkdownInterface {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->utf8_strlen = function ($text) { return preg_match_all('/[\x00-\xBF]|[\xC0-\xFF][\x80-\xBF]*/', $text, $m); };
|
$this->utf8_strlen = function($text) {
|
||||||
|
return preg_match_all('/[\x00-\xBF]|[\xC0-\xFF][\x80-\xBF]*/', $text, $m);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
|
@ -8,27 +8,31 @@
|
||||||
* @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
|
* @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace mdlibs;
|
namespace md;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Markdown Extra Parser Class
|
* Markdown Extra Parser Class
|
||||||
*/
|
*/
|
||||||
class MarkdownExtra extends \mdlibs\Markdown {
|
class MarkdownExtra extends \md\Markdown {
|
||||||
/**
|
/**
|
||||||
* Configuration variables
|
* Configuration variables
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prefix for footnote ids.
|
* Prefix for footnote ids.
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $fn_id_prefix = "";
|
public $fn_id_prefix = "";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Optional title attribute for footnote links.
|
* Optional title attribute for footnote links.
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $fn_link_title = "";
|
public $fn_link_title = "";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Optional class attribute for footnote links and backlinks.
|
* Optional class attribute for footnote links and backlinks.
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $fn_link_class = "footnote-ref";
|
public $fn_link_class = "footnote-ref";
|
||||||
public $fn_backlink_class = "footnote-backref";
|
public $fn_backlink_class = "footnote-backref";
|
||||||
|
@ -39,6 +43,7 @@ class MarkdownExtra extends \mdlibs\Markdown {
|
||||||
* from displaying the arrow character as an emoji.
|
* from displaying the arrow character as an emoji.
|
||||||
* Optionally use '^^' and '%%' to refer to the footnote number and
|
* Optionally use '^^' and '%%' to refer to the footnote number and
|
||||||
* reference number respectively. {@see parseFootnotePlaceholders()}
|
* reference number respectively. {@see parseFootnotePlaceholders()}
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $fn_backlink_html = '↩︎';
|
public $fn_backlink_html = '↩︎';
|
||||||
|
|
||||||
|
@ -47,6 +52,7 @@ class MarkdownExtra extends \mdlibs\Markdown {
|
||||||
* added accessibility (to ensure backlink uniqueness).
|
* added accessibility (to ensure backlink uniqueness).
|
||||||
* Use '^^' and '%%' to refer to the footnote number and reference number
|
* Use '^^' and '%%' to refer to the footnote number and reference number
|
||||||
* respectively. {@see parseFootnotePlaceholders()}
|
* respectively. {@see parseFootnotePlaceholders()}
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $fn_backlink_title = "";
|
public $fn_backlink_title = "";
|
||||||
public $fn_backlink_label = "";
|
public $fn_backlink_label = "";
|
||||||
|
@ -55,33 +61,39 @@ class MarkdownExtra extends \mdlibs\Markdown {
|
||||||
* Class name for table cell alignment (%% replaced left/center/right)
|
* Class name for table cell alignment (%% replaced left/center/right)
|
||||||
* For instance: 'go-%%' becomes 'go-left' or 'go-right' or 'go-center'
|
* For instance: 'go-%%' becomes 'go-left' or 'go-right' or 'go-center'
|
||||||
* If empty, the align attribute is used instead of a class name.
|
* If empty, the align attribute is used instead of a class name.
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $table_align_class_tmpl = '';
|
public $table_align_class_tmpl = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Optional class prefix for fenced code block.
|
* Optional class prefix for fenced code block.
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
public $code_class_prefix = "";
|
public $code_class_prefix = "";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class attribute for code blocks goes on the `code` tag;
|
* Class attribute for code blocks goes on the `code` tag;
|
||||||
* setting this to true will put attributes on the `pre` tag instead.
|
* setting this to true will put attributes on the `pre` tag instead.
|
||||||
|
* @var boolean
|
||||||
*/
|
*/
|
||||||
public $code_attr_on_pre = false;
|
public $code_attr_on_pre = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Predefined abbreviations.
|
* Predefined abbreviations.
|
||||||
|
* @var array
|
||||||
*/
|
*/
|
||||||
public $predef_abbr = array();
|
public $predef_abbr = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Only convert atx-style headers if there's a space between the header and #
|
* Only convert atx-style headers if there's a space between the header and #
|
||||||
|
* @var boolean
|
||||||
*/
|
*/
|
||||||
public $hashtag_protection = false;
|
public $hashtag_protection = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines whether footnotes should be appended to the end of the document.
|
* Determines whether footnotes should be appended to the end of the document.
|
||||||
* If true, footnote html can be retrieved from $this->footnotes_assembled.
|
* If true, footnote html can be retrieved from $this->footnotes_assembled.
|
||||||
|
* @var boolean
|
||||||
*/
|
*/
|
||||||
public $omit_footnotes = false;
|
public $omit_footnotes = false;
|
||||||
|
|
||||||
|
@ -95,6 +107,7 @@ class MarkdownExtra extends \mdlibs\Markdown {
|
||||||
* `section` that will enclose the list of footnotes so they are
|
* `section` that will enclose the list of footnotes so they are
|
||||||
* reachable to accessibility tools the same way they would be with the
|
* reachable to accessibility tools the same way they would be with the
|
||||||
* default HTML output.
|
* default HTML output.
|
||||||
|
* @var null|string
|
||||||
*/
|
*/
|
||||||
public $footnotes_assembled = null;
|
public $footnotes_assembled = null;
|
||||||
|
|
||||||
|
@ -136,21 +149,25 @@ class MarkdownExtra extends \mdlibs\Markdown {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extra variables used during extra transformations.
|
* Extra variables used during extra transformations.
|
||||||
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $footnotes = array();
|
protected $footnotes = array();
|
||||||
protected $footnotes_ordered = array();
|
protected $footnotes_ordered = array();
|
||||||
protected $footnotes_ref_count = array();
|
protected $footnotes_ref_count = array();
|
||||||
protected $footnotes_numbers = array();
|
protected $footnotes_numbers = array();
|
||||||
protected $abbr_desciptions = array();
|
protected $abbr_desciptions = array();
|
||||||
|
/** @var string */
|
||||||
protected $abbr_word_re = '';
|
protected $abbr_word_re = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Give the current footnote number.
|
* Give the current footnote number.
|
||||||
|
* @var integer
|
||||||
*/
|
*/
|
||||||
protected $footnote_counter = 1;
|
protected $footnote_counter = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ref attribute for links
|
* Ref attribute for links
|
||||||
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $ref_attr = array();
|
protected $ref_attr = array();
|
||||||
|
|
||||||
|
@ -198,13 +215,16 @@ class MarkdownExtra extends \mdlibs\Markdown {
|
||||||
/**
|
/**
|
||||||
* Extra attribute parser
|
* Extra attribute parser
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Expression to use to catch attributes (includes the braces)
|
* Expression to use to catch attributes (includes the braces)
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $id_class_attr_catch_re = '\{((?>[ ]*[#.a-z][-_:a-zA-Z0-9=]+){1,})[ ]*\}';
|
protected $id_class_attr_catch_re = '\{((?>[ ]*[#.a-z][-_:a-zA-Z0-9=]+){1,})[ ]*\}';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Expression to use when parsing in a context when no capture is desired
|
* Expression to use when parsing in a context when no capture is desired
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $id_class_attr_nocatch_re = '\{(?>[ ]*[#.a-z][-_:a-zA-Z0-9=]+){1,}[ ]*\}';
|
protected $id_class_attr_nocatch_re = '\{(?>[ ]*[#.a-z][-_:a-zA-Z0-9=]+){1,}[ ]*\}';
|
||||||
|
|
||||||
|
@ -320,29 +340,35 @@ class MarkdownExtra extends \mdlibs\Markdown {
|
||||||
/**
|
/**
|
||||||
* HTML block parser
|
* HTML block parser
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tags that are always treated as block tags
|
* Tags that are always treated as block tags
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $block_tags_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|form|fieldset|iframe|hr|legend|article|section|nav|aside|hgroup|header|footer|figcaption|figure|details|summary';
|
protected $block_tags_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|form|fieldset|iframe|hr|legend|article|section|nav|aside|hgroup|header|footer|figcaption|figure|details|summary';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tags treated as block tags only if the opening tag is alone on its line
|
* Tags treated as block tags only if the opening tag is alone on its line
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $context_block_tags_re = 'script|noscript|style|ins|del|iframe|object|source|track|param|math|svg|canvas|audio|video';
|
protected $context_block_tags_re = 'script|noscript|style|ins|del|iframe|object|source|track|param|math|svg|canvas|audio|video';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tags where markdown="1" default to span mode:
|
* Tags where markdown="1" default to span mode:
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $contain_span_tags_re = 'p|h[1-6]|li|dd|dt|td|th|legend|address';
|
protected $contain_span_tags_re = 'p|h[1-6]|li|dd|dt|td|th|legend|address';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tags which must not have their contents modified, no matter where
|
* Tags which must not have their contents modified, no matter where
|
||||||
* they appear
|
* they appear
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $clean_tags_re = 'script|style|math|svg';
|
protected $clean_tags_re = 'script|style|math|svg';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tags that do not need to be closed.
|
* Tags that do not need to be closed.
|
||||||
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $auto_close_tags_re = 'hr|img|param|source|track';
|
protected $auto_close_tags_re = 'hr|img|param|source|track';
|
||||||
|
|
||||||
|
@ -1222,7 +1248,6 @@ class MarkdownExtra extends \mdlibs\Markdown {
|
||||||
$head = $matches[1];
|
$head = $matches[1];
|
||||||
$underline = $matches[2];
|
$underline = $matches[2];
|
||||||
$content = $matches[3];
|
$content = $matches[3];
|
||||||
$attr = [];
|
|
||||||
|
|
||||||
// Remove any tailing pipes for each line.
|
// Remove any tailing pipes for each line.
|
||||||
$head = preg_replace('/[|] *$/m', '', $head);
|
$head = preg_replace('/[|] *$/m', '', $head);
|
|
@ -4,11 +4,11 @@
|
||||||
*
|
*
|
||||||
* @package php-markdown
|
* @package php-markdown
|
||||||
* @author Michel Fortin <michel.fortin@michelf.com>
|
* @author Michel Fortin <michel.fortin@michelf.com>
|
||||||
* @copyright 2004-2021 Michel Fortin <https://michelf.com/projects/php-markdown/>
|
* @copyright 2004-2019 Michel Fortin <https://michelf.com/projects/php-markdown/>
|
||||||
* @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
|
* @copyright (Original Markdown) 2004-2006 John Gruber <https://daringfireball.net/projects/markdown/>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace mdlibs;
|
namespace md;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Markdown Parser Interface
|
* Markdown Parser Interface
|
|
@ -1,3 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
URL="https://codeberg.org/speedie/speedwm/raw/branch/master"
|
|
||||||
tree -I md5 -f --noreport --charset ascii | grep -vE "profiles|metadata|md5|Manifest|README|xml|repo_name|conf|directories|push|tree|LICENSE" | sed -e 's/| \+/ /g' -e 's/[|`]-\+/ */g' -e 's:\(* \)\(\(.*/\)\([^/]\+\)\):\1[\4](\2):g' | tail -n+2 | sed "s|]([.]|](${URL}|g"
|
|
1
pages/_sidebar.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
- [[Home]]
|
30
run.sh
Executable file
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# crontab this to run every X minutes
|
||||||
|
# 5 * * * * /usr/bin/run.sh
|
||||||
|
|
||||||
|
die() { printf "%s\n" "$*"; exit 1; }
|
||||||
|
|
||||||
|
WIKINAME="speedwm-wiki"
|
||||||
|
POST_DIR="$1"
|
||||||
|
[ -z "$1" ] && POST_DIR="/var/www/page/$WIKINAME/pages"
|
||||||
|
|
||||||
|
[ -e "$POST_DIR" ] || die "You must specify a VALID path. Edit $0."
|
||||||
|
|
||||||
|
cd "$POST_DIR" || die "Does not exist."
|
||||||
|
|
||||||
|
pwd
|
||||||
|
|
||||||
|
[ -e "/tmp/markdown-log" ] && mv /tmp/markdown-log /tmp/markdown-log-2
|
||||||
|
find ./*md > /tmp/markdown-log
|
||||||
|
|
||||||
|
[ -e "/tmp/markdown-log-2" ] || exit 0
|
||||||
|
|
||||||
|
[ -z "$(diff -up /tmp/markdown-log /tmp/markdown-log-2)" ] && exit 0
|
||||||
|
|
||||||
|
git add ./*.md
|
||||||
|
git commit -am "Add articles"
|
||||||
|
|
||||||
|
printf "%s - Added articles" "$(date)" > /tmp/markdown-crontab-log
|
||||||
|
|
||||||
|
exit 0
|
21
tests/travis-ci-apache.conf
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<VirtualHost *:80>
|
||||||
|
DocumentRoot %TRAVIS_BUILD_DIR%
|
||||||
|
|
||||||
|
<Directory "%TRAVIS_BUILD_DIR%/">
|
||||||
|
Options FollowSymLinks MultiViews ExecCGI
|
||||||
|
AllowOverride All
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
# Wire up Apache to use Travis CI's php-fpm.
|
||||||
|
<IfModule mod_fastcgi.c>
|
||||||
|
AddHandler php5-fcgi .php
|
||||||
|
Action php5-fcgi /php5-fcgi
|
||||||
|
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
|
||||||
|
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
|
||||||
|
|
||||||
|
<Directory /usr/lib/cgi-bin>
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
</IfModule>
|
||||||
|
</VirtualHost>
|