├── posts ├── index.html └── test2.md ├── system ├── .htaccess ├── fonts │ ├── texb.ttf │ └── index.html ├── index.html ├── core │ ├── index.html │ └── Model.php ├── database │ ├── index.html │ └── drivers │ │ ├── index.html │ │ ├── pdo │ │ └── index.html │ │ ├── cubrid │ │ └── index.html │ │ ├── mssql │ │ └── index.html │ │ ├── mysql │ │ └── index.html │ │ ├── mysqli │ │ └── index.html │ │ ├── oci8 │ │ └── index.html │ │ ├── odbc │ │ └── index.html │ │ ├── postgre │ │ └── index.html │ │ ├── sqlite │ │ └── index.html │ │ └── sqlsrv │ │ └── index.html ├── helpers │ └── index.html ├── language │ ├── index.html │ ├── english │ │ ├── index.html │ │ ├── number_lang.php │ │ ├── migration_lang.php │ │ ├── unit_test_lang.php │ │ ├── profiler_lang.php │ │ └── ftp_lang.php │ └── french │ │ ├── index.html │ │ ├── number_lang.php │ │ ├── migration_lang.php │ │ ├── unit_test_lang.php │ │ ├── profiler_lang.php │ │ └── ftp_lang.php └── libraries │ ├── index.html │ ├── Cache │ ├── index.html │ └── drivers │ │ └── index.html │ └── javascript │ └── index.html ├── application ├── .htaccess ├── cache │ ├── .htaccess │ └── index.html ├── index.html ├── core │ └── index.html ├── hooks │ ├── index.html │ ├── DisplayHook.php │ └── Myhook.php ├── views │ ├── index.html │ └── feed.html ├── config │ ├── index.html │ ├── profiler.php │ ├── hooks.php │ ├── doctypes.php │ └── migration.php ├── errors │ ├── index.html │ ├── error_php.php │ ├── error_db.php │ ├── error_general.php │ └── error_404.php ├── helpers │ ├── index.html │ └── twig_helper.php ├── language │ ├── index.html │ ├── french │ │ ├── index.html │ │ └── blog_lang.php │ ├── zh │ │ ├── index.html │ │ └── blog_lang.php │ └── english │ │ ├── index.html │ │ └── blog_lang.php ├── libraries │ └── index.html ├── models │ └── index.html ├── controllers │ ├── index.html │ └── images.php └── third_party │ ├── index.html │ ├── Dropbox │ ├── HttpResponse.php │ ├── Exception.php │ ├── Exception │ │ ├── NetworkIO.php │ │ ├── RetryLater.php │ │ ├── ServerError.php │ │ ├── ProtocolError.php │ │ ├── BadRequest.php │ │ ├── BadResponse.php │ │ ├── InvalidAccessToken.php │ │ └── BadResponseCode.php │ ├── StreamReadException.php │ ├── AppInfoLoadException.php │ ├── AuthInfoLoadException.php │ ├── WebAuthException │ │ ├── Provider.php │ │ ├── NotApproved.php │ │ ├── BadRequest.php │ │ ├── BadState.php │ │ └── Csrf.php │ ├── DeserializeException.php │ ├── strict.php │ ├── autoload.php │ ├── CurlStreamRelay.php │ └── ArrayEntryStore.php │ ├── Michelf │ ├── MarkdownInterface.inc.php │ ├── Markdown.inc.php │ ├── MarkdownExtra.inc.php │ ├── MarkdownInterface.php │ └── MarkdownExtra.php │ └── Twig │ ├── Node │ ├── Body.php │ ├── Expression │ │ ├── Binary │ │ │ ├── Less.php │ │ │ ├── Equal.php │ │ │ ├── Greater.php │ │ │ ├── NotEqual.php │ │ │ ├── LessEqual.php │ │ │ ├── GreaterEqual.php │ │ │ ├── Add.php │ │ │ ├── Div.php │ │ │ ├── Mod.php │ │ │ ├── Mul.php │ │ │ ├── Or.php │ │ │ ├── Sub.php │ │ │ ├── And.php │ │ │ ├── Concat.php │ │ │ ├── BitwiseAnd.php │ │ │ ├── BitwiseOr.php │ │ │ ├── BitwiseXor.php │ │ │ ├── Matches.php │ │ │ ├── StartsWith.php │ │ │ ├── FloorDiv.php │ │ │ ├── EndsWith.php │ │ │ ├── Power.php │ │ │ ├── Range.php │ │ │ ├── In.php │ │ │ └── NotIn.php │ │ ├── Unary │ │ │ ├── Neg.php │ │ │ ├── Not.php │ │ │ └── Pos.php │ │ ├── Constant.php │ │ ├── TempName.php │ │ ├── AssignName.php │ │ ├── Test │ │ │ ├── Null.php │ │ │ ├── Odd.php │ │ │ ├── Even.php │ │ │ ├── Sameas.php │ │ │ ├── Divisibleby.php │ │ │ └── Constant.php │ │ ├── Unary.php │ │ ├── ExtensionReference.php │ │ ├── Conditional.php │ │ ├── Test.php │ │ ├── Binary.php │ │ ├── MethodCall.php │ │ ├── Function.php │ │ ├── Parent.php │ │ └── Filter.php │ ├── Expression.php │ ├── Flush.php │ ├── SetTemp.php │ ├── Do.php │ ├── Text.php │ ├── BlockReference.php │ ├── Print.php │ ├── AutoEscape.php │ ├── Spaceless.php │ ├── Block.php │ ├── Embed.php │ ├── Sandbox.php │ └── Import.php │ ├── NodeOutputInterface.php │ ├── Sandbox │ ├── SecurityError.php │ └── SecurityPolicyInterface.php │ ├── Error │ ├── Runtime.php │ ├── Syntax.php │ └── Loader.php │ ├── TestCallableInterface.php │ ├── FilterCallableInterface.php │ ├── FunctionCallableInterface.php │ ├── TestInterface.php │ ├── NodeInterface.php │ ├── TokenParser.php │ ├── Extension │ └── Optimizer.php │ ├── ExistsLoaderInterface.php │ ├── Test │ ├── Node.php │ ├── Function.php │ └── Method.php │ ├── ParserInterface.php │ ├── Test.php │ ├── Filter │ ├── Node.php │ ├── Function.php │ └── Method.php │ ├── LexerInterface.php │ ├── Function │ ├── Node.php │ ├── Function.php │ └── Method.php │ ├── Markup.php │ ├── CompilerInterface.php │ ├── FunctionInterface.php │ ├── FilterInterface.php │ ├── TokenParser │ ├── Flush.php │ ├── Do.php │ └── Import.php │ ├── SimpleTest.php │ ├── TokenParserInterface.php │ ├── Autoloader.php │ ├── TemplateInterface.php │ ├── TokenParserBrokerInterface.php │ ├── NodeVisitorInterface.php │ └── LoaderInterface.php ├── install.php ├── docs ├── logo.png ├── page.png ├── feature-v1.png ├── logo_128x128.png ├── preview_deepure.png └── images │ └── dropbox-create-app.png ├── favicon.ico ├── templates ├── simple │ ├── imgs │ │ ├── tags.png │ │ ├── avatar.jpg │ │ ├── calendar.png │ │ └── avatar_default.png │ ├── post.html │ └── index.html ├── tagside │ ├── img │ │ ├── user.jpg │ │ ├── avatar.png │ │ ├── avatar2.png │ │ ├── avatar3.png │ │ ├── avatar5.png │ │ ├── icons.png │ │ ├── user-bg.png │ │ ├── user2.jpg │ │ ├── avatar04.png │ │ ├── ajax-loader.gif │ │ ├── ajax-loader1.gif │ │ ├── credit │ │ │ ├── visa.png │ │ │ ├── cirrus.png │ │ │ ├── mestro.png │ │ │ ├── paypal.png │ │ │ ├── paypal2.png │ │ │ ├── mastercard.png │ │ │ └── american-express.png │ │ ├── blur-background04.jpg │ │ ├── blur-background08.jpg │ │ ├── blur-background09.jpg │ │ ├── sprite-skin-flat.png │ │ ├── sprite-skin-nice.png │ │ └── bootstrap-colorpicker │ │ │ ├── alpha.png │ │ │ ├── hue.png │ │ │ ├── saturation.png │ │ │ ├── hue-horizontal.png │ │ │ └── alpha-horizontal.png │ ├── fonts │ │ ├── ionicons.eot │ │ ├── ionicons.ttf │ │ ├── ionicons.woff │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ └── glyphicons-halflings-regular.woff │ └── tags_cloud.html ├── rock │ ├── font │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ └── fontawesome-webfont.woff │ ├── images │ │ └── social │ │ │ ├── qq.png │ │ │ ├── email.png │ │ │ ├── qq2.png │ │ │ ├── qqqun.png │ │ │ ├── rss.png │ │ │ ├── weibo.png │ │ │ ├── zhihu.png │ │ │ ├── douban.png │ │ │ ├── fanfou.png │ │ │ ├── github.png │ │ │ ├── google.png │ │ │ ├── twitter.png │ │ │ ├── weixin.png │ │ │ ├── delicious.png │ │ │ ├── facebook.png │ │ │ ├── instagram.png │ │ │ ├── linkedin.png │ │ │ ├── pinboard.png │ │ │ ├── pinterest.png │ │ │ └── weixinqrcode.png │ ├── css │ │ ├── fancybox │ │ │ ├── blank.gif │ │ │ ├── fancybox_loading.gif │ │ │ ├── fancybox_overlay.png │ │ │ ├── fancybox_sprite.png │ │ │ ├── fancybox_sprite@2x.png │ │ │ ├── fancybox_loading@2x.gif │ │ │ └── helpers │ │ │ │ ├── fancybox_buttons.png │ │ │ │ └── jquery.fancybox-thumbs.css │ │ └── style.css │ ├── tags.html │ ├── index.html │ ├── include │ │ ├── footer.html │ │ ├── paginator.html │ │ ├── posts_list.html │ │ ├── comments.html │ │ └── description.html │ ├── tags_cloud.html │ └── archive.html └── deepure │ ├── font │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.ttf │ └── fontawesome-webfont.woff │ ├── categories.html │ ├── stylesheets │ ├── print.css │ └── ie.css │ ├── tags.html │ ├── index.html │ ├── include │ ├── paginator.html │ ├── files_list.html │ ├── sider.html │ └── footer.html │ ├── errors │ ├── error_base.html │ └── 404.html │ ├── archive.html │ └── post.html ├── styles └── highlight │ ├── styles │ ├── pojoaque.jpg │ ├── school_book.png │ ├── brown_papersq.png │ ├── ascetic.css │ └── mono-blue.css │ └── LICENSE ├── .gitignore ├── config.yaml ├── .htaccess ├── .travis.yml ├── tests └── CITest.php ├── composer.json ├── phpunit.xml ├── LICENSE ├── sae_app_wizard.xml └── api.md /posts/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /system/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /application/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /application/cache/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /install.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /templates/tagside/img/bootstrap-colorpicker/hue-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fg/JustWriting/master/templates/tagside/img/bootstrap-colorpicker/hue-horizontal.png -------------------------------------------------------------------------------- /application/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/core/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/fonts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /templates/tagside/img/bootstrap-colorpicker/alpha-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fg/JustWriting/master/templates/tagside/img/bootstrap-colorpicker/alpha-horizontal.png -------------------------------------------------------------------------------- /application/cache/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/core/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/hooks/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/views/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/helpers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/language/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/libraries/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /templates/deepure/categories.html: -------------------------------------------------------------------------------- 1 | {% for tag,count in all_categories %} 2 | {{ tag }} {{count}} 3 | {% endfor %} -------------------------------------------------------------------------------- /application/config/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/errors/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/helpers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/language/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/libraries/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/models/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/libraries/Cache/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/controllers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/language/french/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/language/zh/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/third_party/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/pdo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/language/english/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/libraries/javascript/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/language/english/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /config.yaml: -------------------------------------------------------------------------------- 1 | name: justwriting 2 | version: 1 3 | 4 | 5 | handle: 6 | - rewrite: if( !is_file() && path ~ "^(.*)$" ) goto "/index.php/$1" 7 | - hostaccess: if(path ~ "\.md$") allow "127.0.0.1" -------------------------------------------------------------------------------- /system/database/drivers/cubrid/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/mssql/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/mysql/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/mysqli/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/oci8/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/odbc/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/postgre/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/sqlite/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/sqlsrv/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/language/french/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /system/libraries/Cache/drivers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /templates/rock/tags.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ config.title }}{% endblock %} 4 | 5 | {% block content %} 6 | {% include 'include/posts_list.html' %} 7 | {% endblock %} 8 | 9 | -------------------------------------------------------------------------------- /templates/rock/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ config.title }}{% endblock %} 4 | 5 | {% block content %} 6 | {% include 'include/posts_list.html' %} 7 | {% endblock %} 8 | 9 | -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- 1 | 2 | order allow,deny 3 | deny from all 4 | 5 | RewriteBase / 6 | RewriteEngine on 7 | RewriteCond $1 !^(index\.php|css|styles|posts|images|templates|robots\.txt) 8 | RewriteRule ^(.*)$ /index.php?/$1 [L] -------------------------------------------------------------------------------- /templates/tagside/tags_cloud.html: -------------------------------------------------------------------------------- 1 | {% for tag,weight in all_tags %} 2 | {{ tag }} 3 | {% endfor %} -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | 3 | php: 4 | - 5.3 5 | - 5.4 6 | - 5.5 7 | - 5.6 8 | 9 | script: 10 | - phpunit #default test command 11 | - phpunit -c phpunit.xml #custom test command to make sure CLI args don't break the test -------------------------------------------------------------------------------- /templates/deepure/stylesheets/print.css: -------------------------------------------------------------------------------- 1 | /* Welcome to Compass. Use this file to define print styles. 2 | * Import this file using the following HTML or equivalent: 3 | * */ 4 | 5 | /*# sourceMappingURL=print.css.map */ 6 | -------------------------------------------------------------------------------- /templates/deepure/tags.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}{{ tags | join(' ') }}{% endblock %} 3 | 4 | {% block content %} 5 | {% include 'include/sider.html' %} 6 |
7 | {% include 'include/posts_list.html' %} 8 |
9 | {% endblock %} 10 | -------------------------------------------------------------------------------- /application/language/zh/blog_lang.php: -------------------------------------------------------------------------------- 1 | CI =& get_instance(); 8 | $output = $this->CI->output->get_output(); 9 | 10 | if (ENVIRONMENT != 'testing') { 11 | echo $output; 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /application/language/english/blog_lang.php: -------------------------------------------------------------------------------- 1 | {% include 'include/posts_list.html' %} 9 | {% include 'include/sider.html' %} 10 | 11 | {% endblock %} -------------------------------------------------------------------------------- /application/errors/error_php.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |

A PHP Error was encountered

4 | 5 |

Severity:

6 |

Message:

7 |

Filename:

8 |

Line Number:

9 | 10 |
-------------------------------------------------------------------------------- /application/language/french/blog_lang.php: -------------------------------------------------------------------------------- 1 | 4 | * 5 | * */ 6 | 7 | /*# sourceMappingURL=ie.css.map */ 8 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/HttpResponse.php: -------------------------------------------------------------------------------- 1 | statusCode = $statusCode; 15 | $this->body = $body; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/Exception.php: -------------------------------------------------------------------------------- 1 |

3 | {% if config.author %} 4 | Copyright © 2013 - {{ config.author }} - 5 | {% endif %} 6 | Powered By JustWriting - Theme By Rock 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/Exception/NetworkIO.php: -------------------------------------------------------------------------------- 1 | AppInfo::loadXXX methods if something goes wrong. 6 | */ 7 | final class AppInfoLoadException extends \Exception 8 | { 9 | /** 10 | * @param string $message 11 | * 12 | * @internal 13 | */ 14 | function __construct($message) 15 | { 16 | parent::__construct($message); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Michelf/Markdown.inc.php: -------------------------------------------------------------------------------- 1 | AuthInfo::loadXXX methods if something goes wrong. 6 | */ 7 | final class AuthInfoLoadException extends \Exception 8 | { 9 | /** 10 | * @param string $message 11 | * 12 | * @internal 13 | */ 14 | function __construct($message) 15 | { 16 | parent::__construct($message); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/WebAuthException/Provider.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Body extends Twig_Node 18 | { 19 | } 20 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/Exception/ServerError.php: -------------------------------------------------------------------------------- 1 | CI = &get_instance(); 11 | } 12 | 13 | public function testGetPost() 14 | { 15 | $_SERVER['REQUEST_METHOD'] = 'GET'; 16 | $_GET['foo'] = 'bar'; 17 | $this->assertEquals('bar', $this->CI->input->get_post('foo')); 18 | } 19 | } -------------------------------------------------------------------------------- /application/third_party/Dropbox/Exception/BadRequest.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | interface Twig_NodeOutputInterface 18 | { 19 | } 20 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/Exception/BadResponse.php: -------------------------------------------------------------------------------- 1 | 3 | {% if paginator.has_previous %} 4 | 5 | {% endif %} 6 | {% if paginator.has_next %} 7 | 8 | {% endif %} 9 | 10 | {% endif %} -------------------------------------------------------------------------------- /templates/rock/include/paginator.html: -------------------------------------------------------------------------------- 1 | {% if paginator.has_previous or paginator.has_next %} 2 |

11 | {% endif %} -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Less.php: -------------------------------------------------------------------------------- 1 | raw('<'); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Equal.php: -------------------------------------------------------------------------------- 1 | raw('=='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /application/third_party/Twig/Sandbox/SecurityError.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Sandbox_SecurityError extends Twig_Error 18 | { 19 | } 20 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/DeserializeException.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | class Twig_Error_Runtime extends Twig_Error 19 | { 20 | } 21 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Greater.php: -------------------------------------------------------------------------------- 1 | raw('>'); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/NotEqual.php: -------------------------------------------------------------------------------- 1 | raw('!='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/LessEqual.php: -------------------------------------------------------------------------------- 1 | raw('<='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/GreaterEqual.php: -------------------------------------------------------------------------------- 1 | raw('>='); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Unary/Neg.php: -------------------------------------------------------------------------------- 1 | raw('-'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Unary/Not.php: -------------------------------------------------------------------------------- 1 | raw('!'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Unary/Pos.php: -------------------------------------------------------------------------------- 1 | raw('+'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Add.php: -------------------------------------------------------------------------------- 1 | raw('+'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Div.php: -------------------------------------------------------------------------------- 1 | raw('/'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Mod.php: -------------------------------------------------------------------------------- 1 | raw('%'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Mul.php: -------------------------------------------------------------------------------- 1 | raw('*'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Or.php: -------------------------------------------------------------------------------- 1 | raw('||'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Sub.php: -------------------------------------------------------------------------------- 1 | raw('-'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hjue/justwriting", 3 | "type": "project", 4 | "description": "Markdown blog system", 5 | "keywords": ["Markdown","Blog"], 6 | "homepage": "https://github.com/hjue/JustWriting", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Jason Hao", 11 | "email": "haojue@gmail.com", 12 | "homepage": "http://hjue.me", 13 | "role": "Developer" 14 | } 15 | ], 16 | "require": { 17 | "php": ">=5.3.0" 18 | } 19 | } -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | abstract class Twig_Node_Expression extends Twig_Node 19 | { 20 | } 21 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/And.php: -------------------------------------------------------------------------------- 1 | raw('&&'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/Exception/InvalidAccessToken.php: -------------------------------------------------------------------------------- 1 | raw('.'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Twig/Error/Syntax.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | class Twig_Error_Syntax extends Twig_Error 19 | { 20 | } 21 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/BitwiseAnd.php: -------------------------------------------------------------------------------- 1 | raw('&'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/BitwiseOr.php: -------------------------------------------------------------------------------- 1 | raw('|'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/BitwiseXor.php: -------------------------------------------------------------------------------- 1 | raw('^'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /templates/deepure/include/files_list.html: -------------------------------------------------------------------------------- 1 | 13 | 14 | {% include 'include/paginator.html' %} -------------------------------------------------------------------------------- /application/third_party/Twig/TestCallableInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * @deprecated since 1.12 (to be removed in 2.0) 17 | */ 18 | interface Twig_TestCallableInterface 19 | { 20 | public function getCallable(); 21 | } 22 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/WebAuthException/BadState.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {% block title %} {% endblock %} 6 | 7 | 8 | 9 | 10 | 11 |
12 | {% block content %} 13 | {% endblock %} 14 |
15 | 16 | 17 | 18 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/strict.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | interface Twig_FilterCallableInterface 21 | { 22 | public function getCallable(); 23 | } 24 | -------------------------------------------------------------------------------- /application/third_party/Twig/FunctionCallableInterface.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | interface Twig_FunctionCallableInterface 21 | { 22 | public function getCallable(); 23 | } 24 | -------------------------------------------------------------------------------- /application/config/profiler.php: -------------------------------------------------------------------------------- 1 | 16 | * @deprecated since 1.12 (to be removed in 2.0) 17 | */ 18 | interface Twig_TestInterface 19 | { 20 | /** 21 | * Compiles a test. 22 | * 23 | * @return string The PHP code for the test 24 | */ 25 | public function compile(); 26 | } 27 | -------------------------------------------------------------------------------- /application/helpers/twig_helper.php: -------------------------------------------------------------------------------- 1 | twig_lib instanceof Twig_lib) { 10 | log_message('error', "Twig library not initialized"); 11 | return; 12 | } 13 | 14 | $lang = new Twig_SimpleFunction('lang', 'lang'); 15 | 16 | // Now you’ll be able to use {{ base_url('something') }} in your 17 | // template files, after you call this twig_extend() helper function 18 | // in your controllers. 19 | $CI->twig_lib->addFunction($lang); 20 | } 21 | } -------------------------------------------------------------------------------- /templates/rock/tags_cloud.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}{{ config.title }} - {{ lang('tags') }}{% endblock %} 3 | 4 | {% block content %} 5 | {%if all_tags %} 6 |
7 |
8 |

{{ lang('tags') }}:

9 |
10 | {% for tag,weight in all_tags %} 11 |
12 | {{ tag }} 13 |
14 | {% endfor %} 15 |
16 | {% include 'include/footer.html' %} 17 |
18 | {% else %} 19 | {% include 'include/posts_list.html' %} 20 | {% endif %} 21 | {% endblock %} 22 | 23 | 24 | -------------------------------------------------------------------------------- /application/hooks/Myhook.php: -------------------------------------------------------------------------------- 1 | blog_config= $blog_config; 25 | } 26 | } 27 | ?> 28 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Constant.php: -------------------------------------------------------------------------------- 1 | $value), $lineno); 17 | } 18 | 19 | public function compile(Twig_Compiler $compiler) 20 | { 21 | $compiler->repr($this->getAttribute('value')); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /application/third_party/Twig/Sandbox/SecurityPolicyInterface.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | interface Twig_Sandbox_SecurityPolicyInterface 18 | { 19 | public function checkSecurity($tags, $filters, $functions); 20 | 21 | public function checkMethodAllowed($obj, $method); 22 | 23 | public function checkPropertyAllowed($obj, $method); 24 | } 25 | -------------------------------------------------------------------------------- /templates/deepure/archive.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}{{ config.title }}{% endblock %} 3 | 4 | {% block nav_archive %} 5 | class="current" 6 | {% endblock %} 7 | 8 | {% block content %} 9 | 22 | {% endblock %} 23 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/TempName.php: -------------------------------------------------------------------------------- 1 | $name), $lineno); 16 | } 17 | 18 | public function compile(Twig_Compiler $compiler) 19 | { 20 | $compiler 21 | ->raw('$_') 22 | ->raw($this->getAttribute('name')) 23 | ->raw('_') 24 | ; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/AssignName.php: -------------------------------------------------------------------------------- 1 | raw('$context[') 24 | ->string($this->getAttribute('name')) 25 | ->raw(']') 26 | ; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /system/language/english/migration_lang.php: -------------------------------------------------------------------------------- 1 | 16 | * {{ var is none }} 17 | * 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | class Twig_Node_Expression_Test_Null extends Twig_Node_Expression_Test 22 | { 23 | public function compile(Twig_Compiler $compiler) 24 | { 25 | $compiler 26 | ->raw('(null === ') 27 | ->subcompile($this->getNode('node')) 28 | ->raw(')') 29 | ; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Test/Odd.php: -------------------------------------------------------------------------------- 1 | 16 | * {{ var is odd }} 17 | * 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | class Twig_Node_Expression_Test_Odd extends Twig_Node_Expression_Test 22 | { 23 | public function compile(Twig_Compiler $compiler) 24 | { 25 | $compiler 26 | ->raw('(') 27 | ->subcompile($this->getNode('node')) 28 | ->raw(' % 2 == 1') 29 | ->raw(')') 30 | ; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /system/language/french/migration_lang.php: -------------------------------------------------------------------------------- 1 | 16 | * {{ var is even }} 17 | * 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | class Twig_Node_Expression_Test_Even extends Twig_Node_Expression_Test 22 | { 23 | public function compile(Twig_Compiler $compiler) 24 | { 25 | $compiler 26 | ->raw('(') 27 | ->subcompile($this->getNode('node')) 28 | ->raw(' % 2 == 0') 29 | ->raw(')') 30 | ; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /application/third_party/Twig/NodeInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 3.0) 18 | */ 19 | interface Twig_NodeInterface extends Countable, IteratorAggregate 20 | { 21 | /** 22 | * Compiles the node to PHP. 23 | * 24 | * @param Twig_Compiler A Twig_Compiler instance 25 | */ 26 | public function compile(Twig_Compiler $compiler); 27 | 28 | public function getLine(); 29 | 30 | public function getNodeTag(); 31 | } 32 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Matches.php: -------------------------------------------------------------------------------- 1 | raw('preg_match(') 17 | ->subcompile($this->getNode('right')) 18 | ->raw(', ') 19 | ->subcompile($this->getNode('left')) 20 | ->raw(')') 21 | ; 22 | } 23 | 24 | public function operator(Twig_Compiler $compiler) 25 | { 26 | return $compiler->raw(''); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /application/third_party/Twig/TokenParser.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | abstract class Twig_TokenParser implements Twig_TokenParserInterface 18 | { 19 | /** 20 | * @var Twig_Parser 21 | */ 22 | protected $parser; 23 | 24 | /** 25 | * Sets the parser associated with this token parser 26 | * 27 | * @param $parser A Twig_Parser instance 28 | */ 29 | public function setParser(Twig_Parser $parser) 30 | { 31 | $this->parser = $parser; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/StartsWith.php: -------------------------------------------------------------------------------- 1 | raw('(0 === strpos(') 17 | ->subcompile($this->getNode('left')) 18 | ->raw(', ') 19 | ->subcompile($this->getNode('right')) 20 | ->raw('))') 21 | ; 22 | } 23 | 24 | public function operator(Twig_Compiler $compiler) 25 | { 26 | return $compiler->raw(''); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/FloorDiv.php: -------------------------------------------------------------------------------- 1 | raw('intval(floor('); 21 | parent::compile($compiler); 22 | $compiler->raw('))'); 23 | } 24 | 25 | public function operator(Twig_Compiler $compiler) 26 | { 27 | return $compiler->raw('/'); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /application/third_party/Twig/Extension/Optimizer.php: -------------------------------------------------------------------------------- 1 | optimizers = $optimizers; 18 | } 19 | 20 | /** 21 | * {@inheritdoc} 22 | */ 23 | public function getNodeVisitors() 24 | { 25 | return array(new Twig_NodeVisitor_Optimizer($this->optimizers)); 26 | } 27 | 28 | /** 29 | * {@inheritdoc} 30 | */ 31 | public function getName() 32 | { 33 | return 'optimizer'; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/Exception/BadResponseCode.php: -------------------------------------------------------------------------------- 1 | statusCode = $statusCode; 22 | } 23 | 24 | /** 25 | * The HTTP status code returned by the Dropbox server. 26 | * 27 | * @return int 28 | */ 29 | public function getStatusCode() 30 | { 31 | return $this->statusCode; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /application/third_party/Twig/ExistsLoaderInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 3.0) 18 | */ 19 | interface Twig_ExistsLoaderInterface 20 | { 21 | /** 22 | * Check if we have the source code of a template, given its name. 23 | * 24 | * @param string $name The name of the template to check if we can load 25 | * 26 | * @return bool If the template source code is handled by this loader or not 27 | */ 28 | public function exists($name); 29 | } 30 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Test/Sameas.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Expression_Test_Sameas extends Twig_Node_Expression_Test 18 | { 19 | public function compile(Twig_Compiler $compiler) 20 | { 21 | $compiler 22 | ->raw('(') 23 | ->subcompile($this->getNode('node')) 24 | ->raw(' === ') 25 | ->subcompile($this->getNode('arguments')->getNode(0)) 26 | ->raw(')') 27 | ; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /application/controllers/images.php: -------------------------------------------------------------------------------- 1 | load->helper('url'); 12 | $file = uri_string(); 13 | if(substr($file,0,1)=='/'){ 14 | $file = substr($file,1); 15 | } 16 | 17 | $storage = new SaeStorage(); 18 | 19 | $s_index = strpos($file, '/'); 20 | $_f = array('domain'=>substr($file,0,$s_index), 'filename'=>substr($file,$s_index+1)); 21 | 22 | if($storage->fileExists($_f['domain'], $_f['filename'])) 23 | { 24 | header('Content-Type:image/jpeg'); 25 | echo $storage->read($_f['domain'], $_f['filename']); 26 | }else{ 27 | set_status_header(404); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /templates/deepure/errors/404.html: -------------------------------------------------------------------------------- 1 | {% extends 'errors/error_base.html' %} 2 | {% block title %}HTTP 404{% endblock %} 3 | 4 | {% block content %} 5 | 6 |
7 |

8 | 这个页面不存在。 9 |

10 |
11 | 12 | {% if error %} 13 | {{ error | linebreaks }} 14 |
15 | {% endif %} 16 | 17 |

18 | 你所访问的页面、文件并不存在,可能已经被删除了,或者地址错了? 19 |

20 | 21 |

22 | The page (or file) you visited, had gone. May be deleted or just a error url? 23 |

24 | 25 | 31 | 32 |
33 |
34 | 35 | {% endblock %} -------------------------------------------------------------------------------- /application/third_party/Twig/Test/Node.php: -------------------------------------------------------------------------------- 1 | 16 | * @deprecated since 1.12 (to be removed in 2.0) 17 | */ 18 | class Twig_Test_Node extends Twig_Test 19 | { 20 | protected $class; 21 | 22 | public function __construct($class, array $options = array()) 23 | { 24 | parent::__construct($options); 25 | 26 | $this->class = $class; 27 | } 28 | 29 | public function getClass() 30 | { 31 | return $this->class; 32 | } 33 | 34 | public function compile() 35 | { 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /application/third_party/Twig/Test/Function.php: -------------------------------------------------------------------------------- 1 | 16 | * @deprecated since 1.12 (to be removed in 2.0) 17 | */ 18 | class Twig_Test_Function extends Twig_Test 19 | { 20 | protected $function; 21 | 22 | public function __construct($function, array $options = array()) 23 | { 24 | $options['callable'] = $function; 25 | 26 | parent::__construct($options); 27 | 28 | $this->function = $function; 29 | } 30 | 31 | public function compile() 32 | { 33 | return $this->function; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /application/third_party/Twig/ParserInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 3.0) 18 | */ 19 | interface Twig_ParserInterface 20 | { 21 | /** 22 | * Converts a token stream to a node tree. 23 | * 24 | * @param Twig_TokenStream $stream A token stream instance 25 | * 26 | * @return Twig_Node_Module A node tree 27 | * 28 | * @throws Twig_Error_Syntax When the token stream is syntactically or semantically wrong 29 | */ 30 | public function parse(Twig_TokenStream $stream); 31 | } 32 | -------------------------------------------------------------------------------- /application/third_party/Michelf/MarkdownInterface.php: -------------------------------------------------------------------------------- 1 | 8 | # 9 | # Original Markdown 10 | # Copyright (c) 2004-2006 John Gruber 11 | # 12 | # 13 | namespace Michelf; 14 | 15 | 16 | # 17 | # Markdown Parser Interface 18 | # 19 | 20 | interface MarkdownInterface { 21 | 22 | # 23 | # Initialize the parser and return the result of its transform method. 24 | # This will work fine for derived classes too. 25 | # 26 | public static function defaultTransform($text); 27 | 28 | # 29 | # Main function. Performs some preprocessing on the input text 30 | # and pass it through the document gamut. 31 | # 32 | public function transform($text); 33 | 34 | } 35 | 36 | 37 | ?> -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Flush.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Flush extends Twig_Node 18 | { 19 | public function __construct($lineno, $tag) 20 | { 21 | parent::__construct(array(), array(), $lineno, $tag); 22 | } 23 | 24 | /** 25 | * Compiles the node to PHP. 26 | * 27 | * @param Twig_Compiler A Twig_Compiler instance 28 | */ 29 | public function compile(Twig_Compiler $compiler) 30 | { 31 | $compiler 32 | ->addDebugInfo($this) 33 | ->write("flush();\n") 34 | ; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Unary.php: -------------------------------------------------------------------------------- 1 | $node), array(), $lineno); 17 | } 18 | 19 | public function compile(Twig_Compiler $compiler) 20 | { 21 | $compiler->raw('('); 22 | $this->operator($compiler); 23 | $compiler 24 | ->subcompile($this->getNode('node')) 25 | ->raw(')') 26 | ; 27 | } 28 | 29 | abstract public function operator(Twig_Compiler $compiler); 30 | } 31 | -------------------------------------------------------------------------------- /application/third_party/Twig/Test.php: -------------------------------------------------------------------------------- 1 | 16 | * @deprecated since 1.12 (to be removed in 2.0) 17 | */ 18 | abstract class Twig_Test implements Twig_TestInterface, Twig_TestCallableInterface 19 | { 20 | protected $options; 21 | protected $arguments = array(); 22 | 23 | public function __construct(array $options = array()) 24 | { 25 | $this->options = array_merge(array( 26 | 'callable' => null, 27 | ), $options); 28 | } 29 | 30 | public function getCallable() 31 | { 32 | return $this->options['callable']; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /application/third_party/Twig/Filter/Node.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | class Twig_Filter_Node extends Twig_Filter 21 | { 22 | protected $class; 23 | 24 | public function __construct($class, array $options = array()) 25 | { 26 | parent::__construct($options); 27 | 28 | $this->class = $class; 29 | } 30 | 31 | public function getClass() 32 | { 33 | return $this->class; 34 | } 35 | 36 | public function compile() 37 | { 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /application/third_party/Twig/LexerInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 3.0) 18 | */ 19 | interface Twig_LexerInterface 20 | { 21 | /** 22 | * Tokenizes a source code. 23 | * 24 | * @param string $code The source code 25 | * @param string $filename A unique identifier for the source code 26 | * 27 | * @return Twig_TokenStream A token stream instance 28 | * 29 | * @throws Twig_Error_Syntax When the code is syntactically wrong 30 | */ 31 | public function tokenize($code, $filename = null); 32 | } 33 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/EndsWith.php: -------------------------------------------------------------------------------- 1 | raw('(0 === substr_compare(') 17 | ->subcompile($this->getNode('left')) 18 | ->raw(', ') 19 | ->subcompile($this->getNode('right')) 20 | ->raw(', -strlen(') 21 | ->subcompile($this->getNode('right')) 22 | ->raw(')))') 23 | ; 24 | } 25 | 26 | public function operator(Twig_Compiler $compiler) 27 | { 28 | return $compiler->raw(''); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /system/language/english/unit_test_lang.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | class Twig_Filter_Function extends Twig_Filter 21 | { 22 | protected $function; 23 | 24 | public function __construct($function, array $options = array()) 25 | { 26 | $options['callable'] = $function; 27 | 28 | parent::__construct($options); 29 | 30 | $this->function = $function; 31 | } 32 | 33 | public function compile() 34 | { 35 | return $this->function; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /application/third_party/Twig/Function/Node.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | class Twig_Function_Node extends Twig_Function 21 | { 22 | protected $class; 23 | 24 | public function __construct($class, array $options = array()) 25 | { 26 | parent::__construct($options); 27 | 28 | $this->class = $class; 29 | } 30 | 31 | public function getClass() 32 | { 33 | return $this->class; 34 | } 35 | 36 | public function compile() 37 | { 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Test/Divisibleby.php: -------------------------------------------------------------------------------- 1 | 16 | * {% if loop.index is divisible by(3) %} 17 | * 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | class Twig_Node_Expression_Test_Divisibleby extends Twig_Node_Expression_Test 22 | { 23 | public function compile(Twig_Compiler $compiler) 24 | { 25 | $compiler 26 | ->raw('(0 == ') 27 | ->subcompile($this->getNode('node')) 28 | ->raw(' % ') 29 | ->subcompile($this->getNode('arguments')->getNode(0)) 30 | ->raw(')') 31 | ; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /application/third_party/Twig/Markup.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Markup implements Countable 18 | { 19 | protected $content; 20 | protected $charset; 21 | 22 | public function __construct($content, $charset) 23 | { 24 | $this->content = (string) $content; 25 | $this->charset = $charset; 26 | } 27 | 28 | public function __toString() 29 | { 30 | return $this->content; 31 | } 32 | 33 | public function count() 34 | { 35 | return function_exists('mb_get_info') ? mb_strlen($this->content, $this->charset) : strlen($this->content); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Power.php: -------------------------------------------------------------------------------- 1 | raw('pow(') 22 | ->subcompile($this->getNode('left')) 23 | ->raw(', ') 24 | ->subcompile($this->getNode('right')) 25 | ->raw(')') 26 | ; 27 | } 28 | 29 | public function operator(Twig_Compiler $compiler) 30 | { 31 | return $compiler->raw('**'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/Range.php: -------------------------------------------------------------------------------- 1 | raw('range(') 22 | ->subcompile($this->getNode('left')) 23 | ->raw(', ') 24 | ->subcompile($this->getNode('right')) 25 | ->raw(')') 26 | ; 27 | } 28 | 29 | public function operator(Twig_Compiler $compiler) 30 | { 31 | return $compiler->raw('..'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/In.php: -------------------------------------------------------------------------------- 1 | raw('twig_in_filter(') 22 | ->subcompile($this->getNode('left')) 23 | ->raw(', ') 24 | ->subcompile($this->getNode('right')) 25 | ->raw(')') 26 | ; 27 | } 28 | 29 | public function operator(Twig_Compiler $compiler) 30 | { 31 | return $compiler->raw('in'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Binary/NotIn.php: -------------------------------------------------------------------------------- 1 | raw('!twig_in_filter(') 22 | ->subcompile($this->getNode('left')) 23 | ->raw(', ') 24 | ->subcompile($this->getNode('right')) 25 | ->raw(')') 26 | ; 27 | } 28 | 29 | public function operator(Twig_Compiler $compiler) 30 | { 31 | return $compiler->raw('not in'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /application/third_party/Twig/CompilerInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 3.0) 18 | */ 19 | interface Twig_CompilerInterface 20 | { 21 | /** 22 | * Compiles a node. 23 | * 24 | * @param Twig_NodeInterface $node The node to compile 25 | * 26 | * @return Twig_CompilerInterface The current compiler instance 27 | */ 28 | public function compile(Twig_NodeInterface $node); 29 | 30 | /** 31 | * Gets the current PHP code after compilation. 32 | * 33 | * @return string The PHP code 34 | */ 35 | public function getSource(); 36 | } 37 | -------------------------------------------------------------------------------- /application/third_party/Twig/Function/Function.php: -------------------------------------------------------------------------------- 1 | 19 | * @deprecated since 1.12 (to be removed in 2.0) 20 | */ 21 | class Twig_Function_Function extends Twig_Function 22 | { 23 | protected $function; 24 | 25 | public function __construct($function, array $options = array()) 26 | { 27 | $options['callable'] = $function; 28 | 29 | parent::__construct($options); 30 | 31 | $this->function = $function; 32 | } 33 | 34 | public function compile() 35 | { 36 | return $this->function; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/autoload.php: -------------------------------------------------------------------------------- 1 | /Dropbox/autoload.php" 10 | 11 | /** 12 | * @internal 13 | */ 14 | function autoload($name) 15 | { 16 | // If the name doesn't start with "Dropbox\", then its not once of our classes. 17 | if (\substr_compare($name, "Dropbox\\", 0, 8) !== 0) return; 18 | 19 | // Take the "Dropbox\" prefix off. 20 | $stem = \substr($name, 8); 21 | 22 | // Convert "\" and "_" to path separators. 23 | $pathified_stem = \str_replace(array("\\", "_"), '/', $stem); 24 | 25 | $path = __DIR__ . "/" . $pathified_stem . ".php"; 26 | if (\is_file($path)) { 27 | require_once $path; 28 | } 29 | } 30 | 31 | \spl_autoload_register('Dropbox\autoload'); 32 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/ExtensionReference.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Expression_ExtensionReference extends Twig_Node_Expression 18 | { 19 | public function __construct($name, $lineno, $tag = null) 20 | { 21 | parent::__construct(array(), array('name' => $name), $lineno, $tag); 22 | } 23 | 24 | /** 25 | * Compiles the node to PHP. 26 | * 27 | * @param Twig_Compiler A Twig_Compiler instance 28 | */ 29 | public function compile(Twig_Compiler $compiler) 30 | { 31 | $compiler->raw(sprintf("\$this->env->getExtension('%s')", $this->getAttribute('name'))); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /application/third_party/Twig/FunctionInterface.php: -------------------------------------------------------------------------------- 1 | 19 | * @deprecated since 1.12 (to be removed in 2.0) 20 | */ 21 | interface Twig_FunctionInterface 22 | { 23 | /** 24 | * Compiles a function. 25 | * 26 | * @return string The PHP code for the function 27 | */ 28 | public function compile(); 29 | 30 | public function needsEnvironment(); 31 | 32 | public function needsContext(); 33 | 34 | public function getSafe(Twig_Node $filterArgs); 35 | 36 | public function setArguments($arguments); 37 | 38 | public function getArguments(); 39 | } 40 | -------------------------------------------------------------------------------- /application/config/hooks.php: -------------------------------------------------------------------------------- 1 | 'Myhook', 14 | 'function' => 'load_settings', 15 | 'filename' => 'Myhook.php', 16 | 'filepath' => 'hooks' 17 | ); 18 | 19 | $hook['display_override'] = array( 20 | 'class' => 'DisplayHook', 21 | 'function' => 'captureOutput', 22 | 'filename' => 'DisplayHook.php', 23 | 'filepath' => 'hooks' 24 | ); 25 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/SetTemp.php: -------------------------------------------------------------------------------- 1 | $name), $lineno); 17 | } 18 | 19 | public function compile(Twig_Compiler $compiler) 20 | { 21 | $name = $this->getAttribute('name'); 22 | $compiler 23 | ->addDebugInfo($this) 24 | ->write('if (isset($context[') 25 | ->string($name) 26 | ->raw('])) { $_') 27 | ->raw($name) 28 | ->raw('_ = $context[') 29 | ->repr($name) 30 | ->raw(']; } else { $_') 31 | ->raw($name) 32 | ->raw("_ = null; }\n") 33 | ; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /templates/rock/css/fancybox/helpers/jquery.fancybox-thumbs.css: -------------------------------------------------------------------------------- 1 | #fancybox-thumbs { 2 | position: fixed; 3 | left: 0; 4 | width: 100%; 5 | overflow: hidden; 6 | z-index: 8050; 7 | } 8 | 9 | #fancybox-thumbs.bottom { 10 | bottom: 2px; 11 | } 12 | 13 | #fancybox-thumbs.top { 14 | top: 2px; 15 | } 16 | 17 | #fancybox-thumbs ul { 18 | position: relative; 19 | list-style: none; 20 | margin: 0; 21 | padding: 0; 22 | } 23 | 24 | #fancybox-thumbs ul li { 25 | float: left; 26 | padding: 1px; 27 | opacity: 0.5; 28 | } 29 | 30 | #fancybox-thumbs ul li.active { 31 | opacity: 0.75; 32 | padding: 0; 33 | border: 1px solid #fff; 34 | } 35 | 36 | #fancybox-thumbs ul li:hover { 37 | opacity: 1; 38 | } 39 | 40 | #fancybox-thumbs ul li a { 41 | display: block; 42 | position: relative; 43 | overflow: hidden; 44 | border: 1px solid #222; 45 | background: #111; 46 | outline: none; 47 | } 48 | 49 | #fancybox-thumbs ul li img { 50 | display: block; 51 | position: relative; 52 | border: 0; 53 | padding: 0; 54 | max-width: none; 55 | } -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Do.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Do extends Twig_Node 18 | { 19 | public function __construct(Twig_Node_Expression $expr, $lineno, $tag = null) 20 | { 21 | parent::__construct(array('expr' => $expr), array(), $lineno, $tag); 22 | } 23 | 24 | /** 25 | * Compiles the node to PHP. 26 | * 27 | * @param Twig_Compiler A Twig_Compiler instance 28 | */ 29 | public function compile(Twig_Compiler $compiler) 30 | { 31 | $compiler 32 | ->addDebugInfo($this) 33 | ->write('') 34 | ->subcompile($this->getNode('expr')) 35 | ->raw(";\n") 36 | ; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16 | 17 | 18 | ./tests/ 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ./system/ 30 | 31 | 32 | -------------------------------------------------------------------------------- /application/third_party/Twig/FilterInterface.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | interface Twig_FilterInterface 21 | { 22 | /** 23 | * Compiles a filter. 24 | * 25 | * @return string The PHP code for the filter 26 | */ 27 | public function compile(); 28 | 29 | public function needsEnvironment(); 30 | 31 | public function needsContext(); 32 | 33 | public function getSafe(Twig_Node $filterArgs); 34 | 35 | public function getPreservesSafety(); 36 | 37 | public function getPreEscape(); 38 | 39 | public function setArguments($arguments); 40 | 41 | public function getArguments(); 42 | } 43 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Text.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | class Twig_Node_Text extends Twig_Node implements Twig_NodeOutputInterface 19 | { 20 | public function __construct($data, $lineno) 21 | { 22 | parent::__construct(array(), array('data' => $data), $lineno); 23 | } 24 | 25 | /** 26 | * Compiles the node to PHP. 27 | * 28 | * @param Twig_Compiler A Twig_Compiler instance 29 | */ 30 | public function compile(Twig_Compiler $compiler) 31 | { 32 | $compiler 33 | ->addDebugInfo($this) 34 | ->write('echo ') 35 | ->string($this->getAttribute('data')) 36 | ->raw(";\n") 37 | ; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Conditional.php: -------------------------------------------------------------------------------- 1 | $expr1, 'expr2' => $expr2, 'expr3' => $expr3), array(), $lineno); 17 | } 18 | 19 | public function compile(Twig_Compiler $compiler) 20 | { 21 | $compiler 22 | ->raw('((') 23 | ->subcompile($this->getNode('expr1')) 24 | ->raw(') ? (') 25 | ->subcompile($this->getNode('expr2')) 26 | ->raw(') : (') 27 | ->subcompile($this->getNode('expr3')) 28 | ->raw('))') 29 | ; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /application/third_party/Twig/Test/Method.php: -------------------------------------------------------------------------------- 1 | 16 | * @deprecated since 1.12 (to be removed in 2.0) 17 | */ 18 | class Twig_Test_Method extends Twig_Test 19 | { 20 | protected $extension; 21 | protected $method; 22 | 23 | public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array()) 24 | { 25 | $options['callable'] = array($extension, $method); 26 | 27 | parent::__construct($options); 28 | 29 | $this->extension = $extension; 30 | $this->method = $method; 31 | } 32 | 33 | public function compile() 34 | { 35 | return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /styles/highlight/styles/ascetic.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: white; 12 | color: black; 13 | } 14 | 15 | .hljs-string, 16 | .hljs-tag .hljs-value, 17 | .hljs-filter .hljs-argument, 18 | .hljs-addition, 19 | .hljs-change, 20 | .apache .hljs-tag, 21 | .apache .hljs-cbracket, 22 | .nginx .hljs-built_in, 23 | .tex .hljs-formula { 24 | color: #888; 25 | } 26 | 27 | .hljs-comment, 28 | .hljs-template_comment, 29 | .hljs-shebang, 30 | .hljs-doctype, 31 | .hljs-pi, 32 | .hljs-javadoc, 33 | .hljs-deletion, 34 | .apache .hljs-sqbracket { 35 | color: #ccc; 36 | } 37 | 38 | .hljs-keyword, 39 | .hljs-tag .hljs-title, 40 | .ini .hljs-title, 41 | .lisp .hljs-title, 42 | .clojure .hljs-title, 43 | .http .hljs-title, 44 | .nginx .hljs-title, 45 | .css .hljs-tag, 46 | .hljs-winutils, 47 | .hljs-flow, 48 | .apache .hljs-tag, 49 | .tex .hljs-command, 50 | .hljs-request, 51 | .hljs-status { 52 | font-weight: bold; 53 | } 54 | -------------------------------------------------------------------------------- /templates/deepure/include/sider.html: -------------------------------------------------------------------------------- 1 |
2 | {% if all_tags %} 3 | 11 | {% endif %} 12 | 13 | {% if rposts %} 14 | 25 | {% endif %} 26 | {% if config.comment %} 27 | 33 | {% endif %} 34 | 35 |
-------------------------------------------------------------------------------- /application/third_party/Twig/Error/Loader.php: -------------------------------------------------------------------------------- 1 | 24 | */ 25 | class Twig_Error_Loader extends Twig_Error 26 | { 27 | public function __construct($message, $lineno = -1, $filename = null, Exception $previous = null) 28 | { 29 | parent::__construct($message, false, false, $previous); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/BlockReference.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | class Twig_Node_BlockReference extends Twig_Node implements Twig_NodeOutputInterface 19 | { 20 | public function __construct($name, $lineno, $tag = null) 21 | { 22 | parent::__construct(array(), array('name' => $name), $lineno, $tag); 23 | } 24 | 25 | /** 26 | * Compiles the node to PHP. 27 | * 28 | * @param Twig_Compiler A Twig_Compiler instance 29 | */ 30 | public function compile(Twig_Compiler $compiler) 31 | { 32 | $compiler 33 | ->addDebugInfo($this) 34 | ->write(sprintf("\$this->displayBlock('%s', \$context, \$blocks);\n", $this->getAttribute('name'))) 35 | ; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /application/third_party/Twig/TokenParser/Flush.php: -------------------------------------------------------------------------------- 1 | parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE); 29 | 30 | return new Twig_Node_Flush($token->getLine(), $this->getTag()); 31 | } 32 | 33 | /** 34 | * Gets the tag name associated with this token parser. 35 | * 36 | * @return string The tag name 37 | */ 38 | public function getTag() 39 | { 40 | return 'flush'; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /application/third_party/Twig/Filter/Method.php: -------------------------------------------------------------------------------- 1 | 18 | * @deprecated since 1.12 (to be removed in 2.0) 19 | */ 20 | class Twig_Filter_Method extends Twig_Filter 21 | { 22 | protected $extension; 23 | protected $method; 24 | 25 | public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array()) 26 | { 27 | $options['callable'] = array($extension, $method); 28 | 29 | parent::__construct($options); 30 | 31 | $this->extension = $extension; 32 | $this->method = $method; 33 | } 34 | 35 | public function compile() 36 | { 37 | return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Print.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | class Twig_Node_Print extends Twig_Node implements Twig_NodeOutputInterface 19 | { 20 | public function __construct(Twig_Node_Expression $expr, $lineno, $tag = null) 21 | { 22 | parent::__construct(array('expr' => $expr), array(), $lineno, $tag); 23 | } 24 | 25 | /** 26 | * Compiles the node to PHP. 27 | * 28 | * @param Twig_Compiler A Twig_Compiler instance 29 | */ 30 | public function compile(Twig_Compiler $compiler) 31 | { 32 | $compiler 33 | ->addDebugInfo($this) 34 | ->write('echo ') 35 | ->subcompile($this->getNode('expr')) 36 | ->raw(";\n") 37 | ; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /templates/deepure/include/footer.html: -------------------------------------------------------------------------------- 1 | {% if config.comment %} 2 | 3 | 4 | 5 | 16 | 17 | 18 | {% endif %} 19 | 20 | 31 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 hjue 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/AutoEscape.php: -------------------------------------------------------------------------------- 1 | 22 | */ 23 | class Twig_Node_AutoEscape extends Twig_Node 24 | { 25 | public function __construct($value, Twig_NodeInterface $body, $lineno, $tag = 'autoescape') 26 | { 27 | parent::__construct(array('body' => $body), array('value' => $value), $lineno, $tag); 28 | } 29 | 30 | /** 31 | * Compiles the node to PHP. 32 | * 33 | * @param Twig_Compiler A Twig_Compiler instance 34 | */ 35 | public function compile(Twig_Compiler $compiler) 36 | { 37 | $compiler->subcompile($this->getNode('body')); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /application/third_party/Twig/SimpleTest.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_SimpleTest 18 | { 19 | protected $name; 20 | protected $callable; 21 | protected $options; 22 | 23 | public function __construct($name, $callable, array $options = array()) 24 | { 25 | $this->name = $name; 26 | $this->callable = $callable; 27 | $this->options = array_merge(array( 28 | 'node_class' => 'Twig_Node_Expression_Test', 29 | ), $options); 30 | } 31 | 32 | public function getName() 33 | { 34 | return $this->name; 35 | } 36 | 37 | public function getCallable() 38 | { 39 | return $this->callable; 40 | } 41 | 42 | public function getNodeClass() 43 | { 44 | return $this->options['node_class']; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /application/third_party/Twig/Function/Method.php: -------------------------------------------------------------------------------- 1 | 19 | * @deprecated since 1.12 (to be removed in 2.0) 20 | */ 21 | class Twig_Function_Method extends Twig_Function 22 | { 23 | protected $extension; 24 | protected $method; 25 | 26 | public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array()) 27 | { 28 | $options['callable'] = array($extension, $method); 29 | 30 | parent::__construct($options); 31 | 32 | $this->extension = $extension; 33 | $this->method = $method; 34 | } 35 | 36 | public function compile() 37 | { 38 | return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Spaceless.php: -------------------------------------------------------------------------------- 1 | 18 | */ 19 | class Twig_Node_Spaceless extends Twig_Node 20 | { 21 | public function __construct(Twig_NodeInterface $body, $lineno, $tag = 'spaceless') 22 | { 23 | parent::__construct(array('body' => $body), array(), $lineno, $tag); 24 | } 25 | 26 | /** 27 | * Compiles the node to PHP. 28 | * 29 | * @param Twig_Compiler A Twig_Compiler instance 30 | */ 31 | public function compile(Twig_Compiler $compiler) 32 | { 33 | $compiler 34 | ->addDebugInfo($this) 35 | ->write("ob_start();\n") 36 | ->subcompile($this->getNode('body')) 37 | ->write("echo trim(preg_replace('/>\s+<', ob_get_clean()));\n") 38 | ; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /application/third_party/Twig/TokenParserInterface.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | interface Twig_TokenParserInterface 18 | { 19 | /** 20 | * Sets the parser associated with this token parser 21 | * 22 | * @param $parser A Twig_Parser instance 23 | */ 24 | public function setParser(Twig_Parser $parser); 25 | 26 | /** 27 | * Parses a token and returns a node. 28 | * 29 | * @param Twig_Token $token A Twig_Token instance 30 | * 31 | * @return Twig_NodeInterface A Twig_NodeInterface instance 32 | * 33 | * @throws Twig_Error_Syntax 34 | */ 35 | public function parse(Twig_Token $token); 36 | 37 | /** 38 | * Gets the tag name associated with this token parser. 39 | * 40 | * @return string The tag name 41 | */ 42 | public function getTag(); 43 | } 44 | -------------------------------------------------------------------------------- /application/third_party/Twig/TokenParser/Do.php: -------------------------------------------------------------------------------- 1 | parser->getExpressionParser()->parseExpression(); 27 | 28 | $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE); 29 | 30 | return new Twig_Node_Do($expr, $token->getLine(), $this->getTag()); 31 | } 32 | 33 | /** 34 | * Gets the tag name associated with this token parser. 35 | * 36 | * @return string The tag name 37 | */ 38 | public function getTag() 39 | { 40 | return 'do'; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /application/config/doctypes.php: -------------------------------------------------------------------------------- 1 | '', 5 | 'xhtml1-strict' => '', 6 | 'xhtml1-trans' => '', 7 | 'xhtml1-frame' => '', 8 | 'html5' => '', 9 | 'html4-strict' => '', 10 | 'html4-trans' => '', 11 | 'html4-frame' => '' 12 | ); 13 | 14 | /* End of file doctypes.php */ 15 | /* Location: ./application/config/doctypes.php */ -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Test.php: -------------------------------------------------------------------------------- 1 | $node, 'arguments' => $arguments), array('name' => $name), $lineno); 16 | } 17 | 18 | public function compile(Twig_Compiler $compiler) 19 | { 20 | $name = $this->getAttribute('name'); 21 | $test = $compiler->getEnvironment()->getTest($name); 22 | 23 | $this->setAttribute('name', $name); 24 | $this->setAttribute('type', 'test'); 25 | $this->setAttribute('thing', $test); 26 | if ($test instanceof Twig_TestCallableInterface || $test instanceof Twig_SimpleTest) { 27 | $this->setAttribute('callable', $test->getCallable()); 28 | } 29 | 30 | $this->compileCallable($compiler); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /templates/simple/post.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{ post.title }} 8 | 9 | 10 | 11 |
12 | 13 |
14 | 15 |

{{ config.title}}

16 |

{{ config.intro}}

17 |
18 | 19 | 目 录 20 |
21 |
22 |

{{ post.title }}{{ post.date|date('Y-m-d')}}

23 | {{ post.html|raw }} 24 | 32 |
33 | 34 | 35 | -------------------------------------------------------------------------------- /system/language/english/profiler_lang.php: -------------------------------------------------------------------------------- 1 | $left, 'right' => $right), array(), $lineno); 17 | } 18 | 19 | /** 20 | * Compiles the node to PHP. 21 | * 22 | * @param Twig_Compiler A Twig_Compiler instance 23 | */ 24 | public function compile(Twig_Compiler $compiler) 25 | { 26 | $compiler 27 | ->raw('(') 28 | ->subcompile($this->getNode('left')) 29 | ->raw(' ') 30 | ; 31 | $this->operator($compiler); 32 | $compiler 33 | ->raw(' ') 34 | ->subcompile($this->getNode('right')) 35 | ->raw(')') 36 | ; 37 | } 38 | 39 | abstract public function operator(Twig_Compiler $compiler); 40 | } 41 | -------------------------------------------------------------------------------- /application/views/feed.html: -------------------------------------------------------------------------------- 1 | ' . "\n"; ?> 2 | 8 | 9 | 10 | 11 | <?php echo $config['title']; ?> 12 | 13 | 14 | 15 | 16 | Copyright 17 | 18 | 19 | 20 | 21 | 22 | <?php echo xml_convert($post['title']); ?> 23 | 24 | 25 | 26 | ]]> 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /styles/highlight/styles/mono-blue.css: -------------------------------------------------------------------------------- 1 | /* 2 | Five-color theme from a single blue hue. 3 | */ 4 | .hljs { 5 | display: block; 6 | overflow-x: auto; 7 | padding: 0.5em; 8 | background: #eaeef3; 9 | color: #00193a; 10 | } 11 | 12 | .hljs-keyword, 13 | .hljs-title, 14 | .hljs-important, 15 | .hljs-request, 16 | .hljs-header, 17 | .hljs-javadoctag { 18 | font-weight: bold; 19 | } 20 | 21 | .hljs-comment, 22 | .hljs-chunk, 23 | .hljs-template_comment { 24 | color: #738191; 25 | } 26 | 27 | .hljs-string, 28 | .hljs-title, 29 | .hljs-parent, 30 | .hljs-built_in, 31 | .hljs-literal, 32 | .hljs-filename, 33 | .hljs-value, 34 | .hljs-addition, 35 | .hljs-tag, 36 | .hljs-argument, 37 | .hljs-link_label, 38 | .hljs-blockquote, 39 | .hljs-header { 40 | color: #0048ab; 41 | } 42 | 43 | .hljs-decorator, 44 | .hljs-prompt, 45 | .hljs-yardoctag, 46 | .hljs-subst, 47 | .hljs-symbol, 48 | .hljs-doctype, 49 | .hljs-regexp, 50 | .hljs-preprocessor, 51 | .hljs-pragma, 52 | .hljs-pi, 53 | .hljs-attribute, 54 | .hljs-attr_selector, 55 | .hljs-javadoc, 56 | .hljs-xmlDocTag, 57 | .hljs-deletion, 58 | .hljs-shebang, 59 | .hljs-string .hljs-variable, 60 | .hljs-link_url, 61 | .hljs-bullet, 62 | .hljs-sqbracket, 63 | .hljs-phony { 64 | color: #4c81c9; 65 | } 66 | -------------------------------------------------------------------------------- /templates/rock/include/posts_list.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | {% for post in posts %} 5 |
6 |
7 |
8 |
9 | {% if post.tags %} 10 | {% for tag in post.tags %} 11 | {{ tag }} 12 | {% endfor %} 13 | {% endif %} 14 |
15 | 16 |

{{ post.title }}

17 |
18 | {{ post.intro }} 19 | 22 |
23 |
24 |
25 | {% endfor %} 26 | {% include 'include/paginator.html' %} 27 |
28 |
29 | {% include 'include/footer.html' %} 30 |
31 | 32 | -------------------------------------------------------------------------------- /application/third_party/Michelf/MarkdownExtra.php: -------------------------------------------------------------------------------- 1 | 8 | # 9 | # Original Markdown 10 | # Copyright (c) 2004-2006 John Gruber 11 | # 12 | # 13 | namespace Michelf; 14 | 15 | 16 | # Just force Michelf/Markdown.php to load. This is needed to load 17 | # the temporary implementation class. See below for details. 18 | \Michelf\Markdown::MARKDOWNLIB_VERSION; 19 | 20 | # 21 | # Markdown Extra Parser Class 22 | # 23 | # Note: Currently the implementation resides in the temporary class 24 | # \Michelf\MarkdownExtra_TmpImpl (in the same file as \Michelf\Markdown). 25 | # This makes it easier to propagate the changes between the three different 26 | # packaging styles of PHP Markdown. Once this issue is resolved, the 27 | # _MarkdownExtra_TmpImpl will disappear and this one will contain the code. 28 | # 29 | 30 | class MarkdownExtra extends \Michelf\_MarkdownExtra_TmpImpl { 31 | 32 | ### Parser Implementation ### 33 | 34 | # Temporarily, the implemenation is in the _MarkdownExtra_TmpImpl class. 35 | # See note above. 36 | 37 | } 38 | 39 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/CurlStreamRelay.php: -------------------------------------------------------------------------------- 1 | outStream = $outStream; 20 | $this->errorData = array(); 21 | $isError = null; 22 | curl_setopt($ch, CURLOPT_WRITEFUNCTION, array($this, 'writeData')); 23 | } 24 | 25 | function writeData($ch, $data) 26 | { 27 | if ($this->isError === null) { 28 | $statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 29 | $this->isError = ($statusCode !== 200); 30 | } 31 | 32 | if ($this->isError) { 33 | $this->errorData[] = $data; 34 | } else { 35 | fwrite($this->outStream, $data); 36 | } 37 | 38 | return strlen($data); 39 | } 40 | 41 | function getErrorBody() 42 | { 43 | return implode($this->errorData); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Block.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | class Twig_Node_Block extends Twig_Node 19 | { 20 | public function __construct($name, Twig_NodeInterface $body, $lineno, $tag = null) 21 | { 22 | parent::__construct(array('body' => $body), array('name' => $name), $lineno, $tag); 23 | } 24 | 25 | /** 26 | * Compiles the node to PHP. 27 | * 28 | * @param Twig_Compiler A Twig_Compiler instance 29 | */ 30 | public function compile(Twig_Compiler $compiler) 31 | { 32 | $compiler 33 | ->addDebugInfo($this) 34 | ->write(sprintf("public function block_%s(\$context, array \$blocks = array())\n", $this->getAttribute('name')), "{\n") 35 | ->indent() 36 | ; 37 | 38 | $compiler 39 | ->subcompile($this->getNode('body')) 40 | ->outdent() 41 | ->write("}\n\n") 42 | ; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /templates/deepure/post.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}{{ post.title }}{% endblock %} 3 | 4 | {% block content %} 5 |
6 |
7 |
8 |

9 | {{ post.title }} 10 |

11 | 27 |
28 |
{{ post.html|raw }}
29 |
30 | 31 | 32 | {% if config.comment %} 33 |
34 | {% endif %} 35 |
36 | {% include 'include/sider.html' %} 37 | {% endblock %} -------------------------------------------------------------------------------- /system/language/french/profiler_lang.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Embed extends Twig_Node_Include 18 | { 19 | // we don't inject the module to avoid node visitors to traverse it twice (as it will be already visited in the main module) 20 | public function __construct($filename, $index, Twig_Node_Expression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null) 21 | { 22 | parent::__construct(new Twig_Node_Expression_Constant('not_used', $lineno), $variables, $only, $ignoreMissing, $lineno, $tag); 23 | 24 | $this->setAttribute('filename', $filename); 25 | $this->setAttribute('index', $index); 26 | } 27 | 28 | protected function addGetTemplate(Twig_Compiler $compiler) 29 | { 30 | $compiler 31 | ->write("\$this->env->loadTemplate(") 32 | ->string($this->getAttribute('filename')) 33 | ->raw(', ') 34 | ->string($this->getAttribute('index')) 35 | ->raw(")") 36 | ; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Test/Constant.php: -------------------------------------------------------------------------------- 1 | 16 | * {% if post.status is constant('Post::PUBLISHED') %} 17 | * the status attribute is exactly the same as Post::PUBLISHED 18 | * {% endif %} 19 | * 20 | * 21 | * @author Fabien Potencier 22 | */ 23 | class Twig_Node_Expression_Test_Constant extends Twig_Node_Expression_Test 24 | { 25 | public function compile(Twig_Compiler $compiler) 26 | { 27 | $compiler 28 | ->raw('(') 29 | ->subcompile($this->getNode('node')) 30 | ->raw(' === constant(') 31 | ; 32 | 33 | if ($this->getNode('arguments')->hasNode(1)) { 34 | $compiler 35 | ->raw('get_class(') 36 | ->subcompile($this->getNode('arguments')->getNode(1)) 37 | ->raw(')."::".') 38 | ; 39 | } 40 | 41 | $compiler 42 | ->subcompile($this->getNode('arguments')->getNode(0)) 43 | ->raw('))') 44 | ; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /application/third_party/Twig/Autoloader.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Autoloader 18 | { 19 | /** 20 | * Registers Twig_Autoloader as an SPL autoloader. 21 | * 22 | * @param bool $prepend Whether to prepend the autoloader or not. 23 | */ 24 | public static function register($prepend = false) 25 | { 26 | if (version_compare(phpversion(), '5.3.0', '>=')) { 27 | spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend); 28 | } else { 29 | spl_autoload_register(array(__CLASS__, 'autoload')); 30 | } 31 | } 32 | 33 | /** 34 | * Handles autoloading of classes. 35 | * 36 | * @param string $class A class name. 37 | */ 38 | public static function autoload($class) 39 | { 40 | if (0 !== strpos($class, 'Twig')) { 41 | return; 42 | } 43 | 44 | if (is_file($file = dirname(__FILE__).'/../'.str_replace(array('_', "\0"), array('/', ''), $class).'.php')) { 45 | require $file; 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /templates/simple/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | {{ config.title}} 8 | 9 | 10 | 11 |
12 |
13 | 14 |

{{ config.title}}

15 |

{{ config.intro}}

16 |
17 | 18 | 19 |
20 |
21 |
    22 | {% for post in posts %} 23 |
  • 24 | {{ post.title }} 25 |
    26 |

    {{ post.date|date('Y-m-d')}}

    27 |

    28 | 29 | {% if post.tags %} 30 | {% for tag in post.tags %} 31 | {{ tag }} 32 | {% endfor %} 33 | {% endif %} 34 |

    35 |
    36 |
  • 37 | {% endfor %} 38 |
39 |
40 | 41 | 42 | -------------------------------------------------------------------------------- /sae_app_wizard.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | JustWriting 4 | haojue@gmail.com 5 | https://raw.githubusercontent.com/hjue/JustWriting/master/docs/logo_128x128.png 6 | https://github.com/hjue/JustWriting 7 | 博客 8 | 9 | 19 | 20 | 21 | 22 | 23 | Storage 24 | KVDB 25 | 26 | 27 | 28 | 29 | > 31 | version: <> 32 | 33 | handle: 34 | - rewrite: if( !is_file() && path ~ "^(.*)$" ) goto "/index.php/$1" 35 | ]]> 36 | 37 | 38 | 39 | 40 | 41 | install.php 42 | 43 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/MethodCall.php: -------------------------------------------------------------------------------- 1 | $node, 'arguments' => $arguments), array('method' => $method, 'safe' => false), $lineno); 16 | 17 | if ($node instanceof Twig_Node_Expression_Name) { 18 | $node->setAttribute('always_defined', true); 19 | } 20 | } 21 | 22 | public function compile(Twig_Compiler $compiler) 23 | { 24 | $compiler 25 | ->subcompile($this->getNode('node')) 26 | ->raw('->') 27 | ->raw($this->getAttribute('method')) 28 | ->raw('(') 29 | ; 30 | $first = true; 31 | foreach ($this->getNode('arguments')->getKeyValuePairs() as $pair) { 32 | if (!$first) { 33 | $compiler->raw(', '); 34 | } 35 | $first = false; 36 | 37 | $compiler->subcompile($pair['value']); 38 | } 39 | $compiler->raw(')'); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Function.php: -------------------------------------------------------------------------------- 1 | $arguments), array('name' => $name), $lineno); 16 | } 17 | 18 | public function compile(Twig_Compiler $compiler) 19 | { 20 | $name = $this->getAttribute('name'); 21 | $function = $compiler->getEnvironment()->getFunction($name); 22 | 23 | $this->setAttribute('name', $name); 24 | $this->setAttribute('type', 'function'); 25 | $this->setAttribute('thing', $function); 26 | $this->setAttribute('needs_environment', $function->needsEnvironment()); 27 | $this->setAttribute('needs_context', $function->needsContext()); 28 | $this->setAttribute('arguments', $function->getArguments()); 29 | if ($function instanceof Twig_FunctionCallableInterface || $function instanceof Twig_SimpleFunction) { 30 | $this->setAttribute('callable', $function->getCallable()); 31 | } 32 | 33 | $this->compileCallable($compiler); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /application/errors/error_db.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Database Error 5 | 55 | 56 | 57 |
58 |

59 | 60 |
61 | 62 | -------------------------------------------------------------------------------- /application/errors/error_general.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Error 5 | 55 | 56 | 57 |
58 |

59 | 60 |
61 | 62 | -------------------------------------------------------------------------------- /system/core/Model.php: -------------------------------------------------------------------------------- 1 | $key; 52 | } 53 | } 54 | // END Model Class 55 | 56 | /* End of file Model.php */ 57 | /* Location: ./system/core/Model.php */ -------------------------------------------------------------------------------- /application/errors/error_404.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 404 Page Not Found 5 | 55 | 56 | 57 |
58 |

59 | 60 |
61 | 62 | -------------------------------------------------------------------------------- /application/third_party/Dropbox/ArrayEntryStore.php: -------------------------------------------------------------------------------- 1 | array = &$array; 27 | $this->key = $key; 28 | } 29 | 30 | /** 31 | * Returns the entry's current value or null if nothing is set. 32 | * 33 | * @return object 34 | */ 35 | function get() 36 | { 37 | if (isset($this->array[$this->key])) { 38 | return $this->array[$this->key]; 39 | } else { 40 | return null; 41 | } 42 | } 43 | 44 | /** 45 | * Set the array entry to the given value. 46 | * 47 | * @param object $value 48 | */ 49 | function set($value) 50 | { 51 | $this->array[$this->key] = $value; 52 | } 53 | 54 | /** 55 | * Clear the entry. 56 | */ 57 | function clear() 58 | { 59 | unset($this->array[$this->key]); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /application/config/migration.php: -------------------------------------------------------------------------------- 1 | migration->latest() this is the version that schema will 21 | | be upgraded / downgraded to. 22 | | 23 | */ 24 | $config['migration_version'] = 0; 25 | 26 | 27 | /* 28 | |-------------------------------------------------------------------------- 29 | | Migrations Path 30 | |-------------------------------------------------------------------------- 31 | | 32 | | Path to your migrations folder. 33 | | Typically, it will be within your application path. 34 | | Also, writing permission is required within the migrations path. 35 | | 36 | */ 37 | $config['migration_path'] = APPPATH . 'migrations/'; 38 | 39 | 40 | /* End of file migration.php */ 41 | /* Location: ./application/config/migration.php */ -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Parent.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | class Twig_Node_Expression_Parent extends Twig_Node_Expression 19 | { 20 | public function __construct($name, $lineno, $tag = null) 21 | { 22 | parent::__construct(array(), array('output' => false, 'name' => $name), $lineno, $tag); 23 | } 24 | 25 | /** 26 | * Compiles the node to PHP. 27 | * 28 | * @param Twig_Compiler A Twig_Compiler instance 29 | */ 30 | public function compile(Twig_Compiler $compiler) 31 | { 32 | if ($this->getAttribute('output')) { 33 | $compiler 34 | ->addDebugInfo($this) 35 | ->write("\$this->displayParentBlock(") 36 | ->string($this->getAttribute('name')) 37 | ->raw(", \$context, \$blocks);\n") 38 | ; 39 | } else { 40 | $compiler 41 | ->raw("\$this->renderParentBlock(") 42 | ->string($this->getAttribute('name')) 43 | ->raw(", \$context, \$blocks)") 44 | ; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /api.md: -------------------------------------------------------------------------------- 1 | 2 | JustWriting Api 3 | ============ 4 | ### recently posted articles 5 | 6 | /api/articles 7 | 8 | Http Method:GET 9 | 10 | ### Post article 11 | 12 | /api/articles 13 | 14 | 15 | Http Method:Post 16 | 17 | key|description 18 | ----|------ 19 | api_key|Api的密钥,在settings.php中设置 20 | name|文章的文件名,去掉.md的部分。若文件存在,会覆盖原先的文章 21 | text|文章的正文 22 | 23 | 24 | 25 | 返回信息,返回json格式 26 | 27 | 28 | Success ,http status code = 200 29 | 30 | { 31 | "name" : "justwriting", 32 | "link" : "http://justwriting.sinaapp.com/" 33 | } 34 | 35 | Failed:invalid api key ,http status code = 403 36 | 37 | { 38 | "errorMsg" : "invalid api key" 39 | } 40 | 41 | 42 | ### Append Image/Text to Article 43 | 44 | /api/articles 45 | 46 | Content-Type:multipart/form-data 47 | 48 | Post parameters,PHP对PUT支持的不好,只能接着用Post了。 49 | 50 | key|description 51 | ----|------ 52 | api_key|Api的密钥,在settings.php中设置 53 | action|append,没有这个值就会覆盖文章。 54 | name|文章的文件名,去掉.md的部分 55 | text|追加的内容 56 | image|追加的图片 57 | 58 | 返回信息,返回json格式,返回信息同Post Article 59 | 60 | 61 | ### Upload Image 62 | 63 | /api/images 64 | 65 | 66 | Post parameters 67 | 68 | key|description 69 | ----|------ 70 | api_key|Api的密钥,在settings.php中设置 71 | image|上传的图片 72 | 73 | 返回信息,返回json格式 74 | 75 | Success ,http status code = 200 76 | 77 | { 78 | "link" : "http://justwriting.sinaapp.com/posts/images/world.png" 79 | } 80 | -------------------------------------------------------------------------------- /application/third_party/Twig/TemplateInterface.php: -------------------------------------------------------------------------------- 1 | 16 | * 17 | * @deprecated since 1.12 (to be removed in 3.0) 18 | */ 19 | interface Twig_TemplateInterface 20 | { 21 | const ANY_CALL = 'any'; 22 | const ARRAY_CALL = 'array'; 23 | const METHOD_CALL = 'method'; 24 | 25 | /** 26 | * Renders the template with the given context and returns it as string. 27 | * 28 | * @param array $context An array of parameters to pass to the template 29 | * 30 | * @return string The rendered template 31 | */ 32 | public function render(array $context); 33 | 34 | /** 35 | * Displays the template with the given context. 36 | * 37 | * @param array $context An array of parameters to pass to the template 38 | * @param array $blocks An array of blocks to pass to the template 39 | */ 40 | public function display(array $context, array $blocks = array()); 41 | 42 | /** 43 | * Returns the bound environment for this template. 44 | * 45 | * @return Twig_Environment The current environment 46 | */ 47 | public function getEnvironment(); 48 | } 49 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Sandbox.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Sandbox extends Twig_Node 18 | { 19 | public function __construct(Twig_NodeInterface $body, $lineno, $tag = null) 20 | { 21 | parent::__construct(array('body' => $body), array(), $lineno, $tag); 22 | } 23 | 24 | /** 25 | * Compiles the node to PHP. 26 | * 27 | * @param Twig_Compiler A Twig_Compiler instance 28 | */ 29 | public function compile(Twig_Compiler $compiler) 30 | { 31 | $compiler 32 | ->addDebugInfo($this) 33 | ->write("\$sandbox = \$this->env->getExtension('sandbox');\n") 34 | ->write("if (!\$alreadySandboxed = \$sandbox->isSandboxed()) {\n") 35 | ->indent() 36 | ->write("\$sandbox->enableSandbox();\n") 37 | ->outdent() 38 | ->write("}\n") 39 | ->subcompile($this->getNode('body')) 40 | ->write("if (!\$alreadySandboxed) {\n") 41 | ->indent() 42 | ->write("\$sandbox->disableSandbox();\n") 43 | ->outdent() 44 | ->write("}\n") 45 | ; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /application/third_party/Twig/TokenParserBrokerInterface.php: -------------------------------------------------------------------------------- 1 | 19 | * @deprecated since 1.12 (to be removed in 2.0) 20 | */ 21 | interface Twig_TokenParserBrokerInterface 22 | { 23 | /** 24 | * Gets a TokenParser suitable for a tag. 25 | * 26 | * @param string $tag A tag name 27 | * 28 | * @return null|Twig_TokenParserInterface A Twig_TokenParserInterface or null if no suitable TokenParser was found 29 | */ 30 | public function getTokenParser($tag); 31 | 32 | /** 33 | * Calls Twig_TokenParserInterface::setParser on all parsers the implementation knows of. 34 | * 35 | * @param Twig_ParserInterface $parser A Twig_ParserInterface interface 36 | */ 37 | public function setParser(Twig_ParserInterface $parser); 38 | 39 | /** 40 | * Gets the Twig_ParserInterface. 41 | * 42 | * @return null|Twig_ParserInterface A Twig_ParserInterface instance or null 43 | */ 44 | public function getParser(); 45 | } 46 | -------------------------------------------------------------------------------- /templates/rock/archive.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | 3 | {% block content %} 4 |
5 |
6 |
7 | {% for year, posts in entries %} 8 |

{{ year }}

9 | {% for post in posts %} 10 |
11 |
12 | {{ post.date | date('Y-m-d') }} 13 |
14 | 15 | {% if post.tags %} 16 | {% for tag in post.tags %} 17 | {{ tag }} 18 | {% endfor %} 19 | {% endif %} 20 | 21 | 22 |
23 | {% if post.metadata.link %} 24 |

[{{ lang('link') }}]{{ post.title }}

25 | {% else %} 26 |

{{ post.title }}

27 | {% endif %} 28 |
29 | {% endfor %} 30 |
31 | {% endfor %} 32 |
33 |
34 | {% include 'include/footer.html' %} 35 |
36 | {% endblock %} 37 | 38 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Import.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class Twig_Node_Import extends Twig_Node 18 | { 19 | public function __construct(Twig_Node_Expression $expr, Twig_Node_Expression $var, $lineno, $tag = null) 20 | { 21 | parent::__construct(array('expr' => $expr, 'var' => $var), array(), $lineno, $tag); 22 | } 23 | 24 | /** 25 | * Compiles the node to PHP. 26 | * 27 | * @param Twig_Compiler A Twig_Compiler instance 28 | */ 29 | public function compile(Twig_Compiler $compiler) 30 | { 31 | $compiler 32 | ->addDebugInfo($this) 33 | ->write('') 34 | ->subcompile($this->getNode('var')) 35 | ->raw(' = ') 36 | ; 37 | 38 | if ($this->getNode('expr') instanceof Twig_Node_Expression_Name && '_self' === $this->getNode('expr')->getAttribute('name')) { 39 | $compiler->raw("\$this"); 40 | } else { 41 | $compiler 42 | ->raw('$this->env->loadTemplate(') 43 | ->subcompile($this->getNode('expr')) 44 | ->raw(")") 45 | ; 46 | } 47 | 48 | $compiler->raw(";\n"); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /templates/rock/include/comments.html: -------------------------------------------------------------------------------- 1 | {% if config.comment %} 2 | {% if config.duoshuo_short_name %} 3 | 4 |
5 | 6 | 7 | 18 | 19 | {% endif %} 20 | {% if config.disqus_short_name %} 21 |
22 | 30 | 31 | 32 | {% endif %} 33 | {% endif %} 34 | -------------------------------------------------------------------------------- /application/third_party/Twig/TokenParser/Import.php: -------------------------------------------------------------------------------- 1 | 16 | * {% import 'forms.html' as forms %} 17 | * 18 | */ 19 | class Twig_TokenParser_Import extends Twig_TokenParser 20 | { 21 | /** 22 | * Parses a token and returns a node. 23 | * 24 | * @param Twig_Token $token A Twig_Token instance 25 | * 26 | * @return Twig_NodeInterface A Twig_NodeInterface instance 27 | */ 28 | public function parse(Twig_Token $token) 29 | { 30 | $macro = $this->parser->getExpressionParser()->parseExpression(); 31 | $this->parser->getStream()->expect('as'); 32 | $var = new Twig_Node_Expression_AssignName($this->parser->getStream()->expect(Twig_Token::NAME_TYPE)->getValue(), $token->getLine()); 33 | $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE); 34 | 35 | $this->parser->addImportedSymbol('template', $var->getAttribute('name')); 36 | 37 | return new Twig_Node_Import($macro, $var, $token->getLine(), $this->getTag()); 38 | } 39 | 40 | /** 41 | * Gets the tag name associated with this token parser. 42 | * 43 | * @return string The tag name 44 | */ 45 | public function getTag() 46 | { 47 | return 'import'; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /application/third_party/Twig/Node/Expression/Filter.php: -------------------------------------------------------------------------------- 1 | $node, 'filter' => $filterName, 'arguments' => $arguments), array(), $lineno, $tag); 17 | } 18 | 19 | public function compile(Twig_Compiler $compiler) 20 | { 21 | $name = $this->getNode('filter')->getAttribute('value'); 22 | $filter = $compiler->getEnvironment()->getFilter($name); 23 | 24 | $this->setAttribute('name', $name); 25 | $this->setAttribute('type', 'filter'); 26 | $this->setAttribute('thing', $filter); 27 | $this->setAttribute('needs_environment', $filter->needsEnvironment()); 28 | $this->setAttribute('needs_context', $filter->needsContext()); 29 | $this->setAttribute('arguments', $filter->getArguments()); 30 | if ($filter instanceof Twig_FilterCallableInterface || $filter instanceof Twig_SimpleFilter) { 31 | $this->setAttribute('callable', $filter->getCallable()); 32 | } 33 | 34 | $this->compileCallable($compiler); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /application/third_party/Twig/NodeVisitorInterface.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | interface Twig_NodeVisitorInterface 18 | { 19 | /** 20 | * Called before child nodes are visited. 21 | * 22 | * @param Twig_NodeInterface $node The node to visit 23 | * @param Twig_Environment $env The Twig environment instance 24 | * 25 | * @return Twig_NodeInterface The modified node 26 | */ 27 | public function enterNode(Twig_NodeInterface $node, Twig_Environment $env); 28 | 29 | /** 30 | * Called after child nodes are visited. 31 | * 32 | * @param Twig_NodeInterface $node The node to visit 33 | * @param Twig_Environment $env The Twig environment instance 34 | * 35 | * @return Twig_NodeInterface|false The modified node or false if the node must be removed 36 | */ 37 | public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env); 38 | 39 | /** 40 | * Returns the priority for this visitor. 41 | * 42 | * Priority should be between -10 and 10 (0 is the default). 43 | * 44 | * @return int The priority level 45 | */ 46 | public function getPriority(); 47 | } 48 | -------------------------------------------------------------------------------- /system/language/french/ftp_lang.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | interface Twig_LoaderInterface 18 | { 19 | /** 20 | * Gets the source code of a template, given its name. 21 | * 22 | * @param string $name The name of the template to load 23 | * 24 | * @return string The template source code 25 | * 26 | * @throws Twig_Error_Loader When $name is not found 27 | */ 28 | public function getSource($name); 29 | 30 | /** 31 | * Gets the cache key to use for the cache for a given template name. 32 | * 33 | * @param string $name The name of the template to load 34 | * 35 | * @return string The cache key 36 | * 37 | * @throws Twig_Error_Loader When $name is not found 38 | */ 39 | public function getCacheKey($name); 40 | 41 | /** 42 | * Returns true if the template is still fresh. 43 | * 44 | * @param string $name The template name 45 | * @param timestamp $time The last modification time of the cached template 46 | * 47 | * @return bool true if the template is fresh, false otherwise 48 | * 49 | * @throws Twig_Error_Loader When $name is not found 50 | */ 51 | public function isFresh($name, $time); 52 | } 53 | -------------------------------------------------------------------------------- /styles/highlight/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2006, Ivan Sagalaev 2 | All rights reserved. 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are met: 5 | 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * Neither the name of highlight.js nor the names of its contributors 12 | may be used to endorse or promote products derived from this software 13 | without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY 16 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /templates/rock/include/description.html: -------------------------------------------------------------------------------- 1 |
2 | {% if post and post.metadata.cover %} 3 | 4 | {% set cover_author = post.metadata.cover_author %} 5 | {% elif site.configs.cover %} 6 | 7 | {% set cover_author = site.configs.cover_author %} 8 | {% else %} 9 | 10 | {% set cover_author = 'Shutterhacks@Flickr & Licenses:CC BY 2.0' %} 11 | {% endif %} 12 | 13 |
14 |
15 |
16 | {% if post and post.metadata.foreword %} 17 | {{ post.metadata.foreword | linebreaks }} 18 | {% elif site.description %} 19 | {{ site.description | linebreaks }} 20 | {% else %} 21 |

22 | 写作,是对生命的一种礼赞。 23 |

24 |

25 | 我们沉浸于生活的时候,会遗忘生活赋予我们的理想;我们停下脚步,用笔尖与思想同黑夜对话的时候。 26 |

27 |

28 | 我们就感觉到了自己。 29 | 如何修改这段文字? 30 |

31 | {% endif %} 32 | 33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------