4 | #=$CATEGORY['ATTR']['ID']?> 5 | =escapeHTML($CATEGORY['ATTR']['NAME'])?> 6 |
7 | 21 |23 | 24 |28 | 29 | 30 |25 | 26 |
=excerpt($CATEGORY['BODY']['HTML']())?>
27 |
-
31 | $value): ?>
32 |
- =$argument?>: =escapeHTML($value)?> 33 | 34 |
] #
3 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
4 | # #
5 | # This file contains the configuration rules for the Apache HTTP server. It is #
6 | # recommended to include these rules directly into the Apache configuration! #
7 | # #
8 | # Additionally, it's recommended to ensure that the AllowOverride directive is #
9 | # disabled if these rules are included in the Apache configuration. Otherwise, #
10 | # the Apache HTTP server is checking for .htaccess files on every request. #
11 | # #
12 | # AllowOverride None #
13 | # #
14 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
15 |
16 | #===============================================================================
17 | # Error pages
18 | #===============================================================================
19 | ErrorDocument 403 /403.php
20 | ErrorDocument 404 /404.php
21 |
22 | #===============================================================================
23 | # Enable RewriteEngine
24 | #===============================================================================
25 | RewriteEngine On
26 |
27 | #===============================================================================
28 | # Forbidden directories
29 | #===============================================================================
30 | RewriteRule ^(.git|core|theme/([^/]+)/(html|lang))/ - [F]
31 |
32 | #===============================================================================
33 | # Pass requests to index.php
34 | #===============================================================================
35 | RewriteCond %{REQUEST_FILENAME} !-f
36 | RewriteCond %{REQUEST_FILENAME} !-d
37 | RewriteRule . index.php [L]
38 |
39 | #===============================================================================
40 | # Redirect from old to new global static dir
41 | #===============================================================================
42 | #Redirect 301 /rsrc/ /static/
43 |
--------------------------------------------------------------------------------
/core/ws-nginx.conf:
--------------------------------------------------------------------------------
1 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
2 | # nginx configuration [Thomas Lange ] #
3 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
4 | # #
5 | # This file contains the configuration from the Apaches .htaccess file written #
6 | # for the nginx high performance web server. Put the content of this file into #
7 | # the "server {}" block of your nginx virtual host configuration file. If your #
8 | # blog is installed in a sub directory, you might need to adjust this rules! #
9 | # #
10 | # How to setup PHP and passing requests via FastCGI to PHP-FPM is your job. If #
11 | # you encounter a "403 Forbidden" error on the home page, please make sure you #
12 | # have configured your nginx virtual host to look for an index.php file: #
13 | # #
14 | # index index.php [...]; #
15 | # #
16 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
17 |
18 | #===============================================================================
19 | # Error pages
20 | #===============================================================================
21 | error_page 403 /403.php;
22 | error_page 404 /404.php;
23 |
24 | #===============================================================================
25 | # Forbidden directories
26 | #===============================================================================
27 | location ~ ^/(.git|core|theme/([^/]+)/(html|lang))/ {
28 | return 403;
29 | }
30 |
31 | #===============================================================================
32 | # Pass requests to index.php
33 | #===============================================================================
34 | location / {
35 | try_files $uri $uri/ /index.php?$args;
36 | }
37 |
38 | #===============================================================================
39 | # Redirect from old to new global static dir
40 | #===============================================================================
41 | #rewrite ^/rsrc/(.*)$ /static/$1 permanent;
42 |
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 | ]
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # PHP7 blogging application
2 | Easy blogging application written with PHP7! The application comes with a fulltext search functionality for posts and with customizable themes and languages. You can build your own theme if the default theme does not satisfy you.
3 |
4 | 
5 |
6 | ## Administration interface
7 | 
8 |
9 | ## Content editor
10 | 
11 |
12 | ## Requirements
13 | * PHP version `>= 7.3`!
14 | * MariaDB version `>= 10.2.2` or MySQL version `>= 8.0`!
15 |
16 | ## Installation
17 | 1. Clone the repository to the target directory (usually your *document root*). (Alternatively you also can download a specific release as ZIP archive and extract it to the target destination and skip step 2.)
18 | 2. Check out the latest tag (or the tag you wish) by running `git tag -l` and `git checkout `. If you wish to get the newest code and features which are not yet included in a release tag, you can use the `master` branch.
19 | 3. Create your MariaDB/MySQL database and import `core/db/database.sql`.
20 | 4. Copy `core/configuration-example.php` to `core/configuration.php` and customize the configuration and set in any case the settings for the database connection.
21 | 5. Configure your web server. **For nginx**, look at `core/ws-nginx.conf`; **for Apache**, look at `core/ws-apache.conf`. (You can copy `core/ws-apache.conf` to `.htaccess` if you want to.)
22 | 6. Navigate your browser to `/admin/auth.php` and authenticate with the default username `ChangeMe` and the password `changeme` (please note that the username is case-sensitive).
23 |
24 | ## Documentation
25 | You can find more information about the configuration and customization in the wiki:
26 |
27 | * [GitHub](https://github.com/Nerdmind/Blog/wiki)
28 | * [Mirror](https://code.nerdmind.de/blog/wiki/)
29 |
--------------------------------------------------------------------------------
/theme/admin/html/403.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('403_heading_text')?>
3 | =$Language->text('403_heading_desc')?>
4 |
5 |
--------------------------------------------------------------------------------
/theme/admin/html/404.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('404_heading_text')?>
3 | =$Language->text('404_heading_desc')?>
4 |
5 |
--------------------------------------------------------------------------------
/theme/admin/html/auth.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('authentication_text')?>
3 | =$Language->text('authentication_desc')?>
4 |
5 |
6 |
7 |
8 |
9 | - =$message?>
10 |
11 |
12 |
13 |
14 |
15 |
38 |
39 |
--------------------------------------------------------------------------------
/theme/admin/html/category/delete.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('delete_category')?>
3 | =$Language->text('delete_category_desc')?>
4 |
5 | =$HTML?>
6 |
7 |
--------------------------------------------------------------------------------
/theme/admin/html/category/index.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('category_overview')?>
3 | =$Language->text('overview_category_desc')?>
4 |
5 | - =$Language->text('insert')?>
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | =$PAGINATION['HTML']?>
15 |
16 |
--------------------------------------------------------------------------------
/theme/admin/html/category/insert.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('insert_category')?>
3 | =$Language->text('insert_category_desc')?>
4 |
5 | =$HTML?>
6 |
7 |
--------------------------------------------------------------------------------
/theme/admin/html/category/item.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | #=$CATEGORY['ATTR']['ID']?>
5 | =escapeHTML($CATEGORY['ATTR']['NAME'])?>
6 |
7 |
21 |
22 |
23 |
24 |
25 |
26 | =excerpt($CATEGORY['BODY']['HTML']())?>
27 |
28 |
29 |
30 |
31 | $value): ?>
32 | - =$argument?>: =escapeHTML($value)?>
33 |
34 |
35 |
36 |
37 |
45 |
46 |
--------------------------------------------------------------------------------
/theme/admin/html/category/update.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | #=$CATEGORY['ATTR']['ID']?>
4 | =$Language->text('update_category')?>
5 |
6 | =$Language->text('update_category_desc')?>
7 |
11 |
12 | =$HTML?>
13 |
14 |
--------------------------------------------------------------------------------
/theme/admin/html/database.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('overview_database_text')?>
3 | =$Language->text('overview_database_desc')?>
4 |
5 |
6 |
7 |
8 |
9 | - =$message?>
10 |
11 |
12 |
13 |
14 |
15 |
32 |
33 |
--------------------------------------------------------------------------------
/theme/admin/html/home.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('overview_dashboard_text')?>
3 | =$Language->text('overview_dashboard_desc')?>
4 |
5 | =$Language->text('last_post')?>
6 |
7 | =$Language->text('posts')?>: =$COUNT['POST']?>
8 | | =$Language->text('insert')?>
9 | | =$Language->text('search')?>
10 |
11 |
12 |
13 | =$LAST['POST']?>
14 |
15 |
16 | =$Language->text('home_no_posts')?>
17 |
18 |
19 | =$Language->text('last_page')?>
20 |
21 | =$Language->text('pages')?>: =$COUNT['PAGE']?>
22 | | =$Language->text('insert')?>
23 | | =$Language->text('search')?>
24 |
25 |
26 |
27 |
28 | =$LAST['PAGE']?>
29 |
30 |
31 | =$Language->text('home_no_pages')?>
32 |
33 |
34 | =$Language->text('last_user')?>
35 |
36 | =$Language->text('users')?>: =$COUNT['USER']?>
37 | | =$Language->text('insert')?>
38 |
39 |
40 |
41 |
42 | =$LAST['USER']?>
43 |
44 |
45 | =$Language->text('home_no_users')?>
46 |
47 |
48 |
--------------------------------------------------------------------------------
/theme/admin/html/main.php:
--------------------------------------------------------------------------------
1 | '/', 'samesite' => 'Lax'];
4 |
5 | if($toogle === 'dark') {
6 | $_COOKIE['dark_mode'] = true;
7 | setcookie('dark_mode', true, $options);
8 | } else {
9 | unset($_COOKIE['dark_mode']);
10 | setcookie('dark_mode', null, array_merge($options, ['expires' => -1]));
11 | }
12 | }
13 |
14 | $theme = isset($_COOKIE['dark_mode']) ? 'dark' : 'bright';
15 | ?>
16 |
17 |
18 |
19 |
20 |
21 |
22 | ">
23 |
24 | =escapeHTML($NAME)?> | Administration
25 |
26 |
27 |
28 |
29 |
36 |
37 |
38 |
39 |
54 |
55 |
56 |
57 |
58 | =$HTML?>
59 |
60 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/theme/admin/html/migration.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | ">
9 | =$Language->text('maintenance_mode')?>
10 |
11 |
12 |
13 |
14 |
15 |
16 | =escapeHTML($BLOGMETA['NAME'])?>
17 | =$Language->text('maintenance_mode')?>
18 |
19 |
20 |
21 |
26 |
27 | =$Language->text('maintenance_mode')?>
28 |
29 | =$Language->text('migration_successful')?>
30 |
31 |
32 | - Migration
=$migration?>
33 |
34 |
35 |
36 | =$Language->text("migration_upgrade", [$database_schema, $codebase_schema])?>
37 |
50 |
51 |
52 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/theme/admin/html/page/delete.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('delete_page')?>
3 | =$Language->text('delete_page_desc')?>
4 |
5 | =$HTML?>
6 |
7 |
--------------------------------------------------------------------------------
/theme/admin/html/page/index.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('page_overview')?>
3 | =$Language->text('overview_page_desc')?>
4 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | =$PAGINATION['HTML']?>
16 |
17 |
--------------------------------------------------------------------------------
/theme/admin/html/page/insert.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('insert_page')?>
3 | =$Language->text('insert_page_desc')?>
4 |
5 | =$HTML?>
6 |
7 |
--------------------------------------------------------------------------------
/theme/admin/html/page/item.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | #=$PAGE['ATTR']['ID']?>
5 | =escapeHTML($PAGE['ATTR']['NAME'])?>
6 |
7 |
17 |
18 |
19 |
20 |
21 |
22 | =excerpt($PAGE['BODY']['HTML']())?>
23 |
24 |
25 |
26 |
27 | $value): ?>
28 | - =$argument?>:
=escapeHTML($value)?>
29 |
30 |
31 |
32 |
33 |
40 |
41 |
--------------------------------------------------------------------------------
/theme/admin/html/page/search.php:
--------------------------------------------------------------------------------
1 | >
2 | =$Language->text('title_page_search')?>
3 | =$Language->text('search_page_desc')?>
4 |
5 |
6 |
7 |
8 |
9 | - =$message?>
10 |
11 |
12 |
13 |
14 |
15 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 | =$PAGINATION['HTML']?>
37 |
38 |
39 |
--------------------------------------------------------------------------------
/theme/admin/html/page/update.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | #=$PAGE['ATTR']['ID']?>
4 | =$Language->text('update_page')?>
5 |
6 | =$Language->text('update_page_desc')?>
7 |
11 |
12 | =$HTML?>
13 |
14 |
--------------------------------------------------------------------------------
/theme/admin/html/pagination.php:
--------------------------------------------------------------------------------
1 |
31 |
--------------------------------------------------------------------------------
/theme/admin/html/post/delete.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('delete_post')?>
3 | =$Language->text('delete_post_desc')?>
4 |
5 | =$HTML?>
6 |
7 |
--------------------------------------------------------------------------------
/theme/admin/html/post/index.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('post_overview')?>
3 | =$Language->text('overview_post_desc')?>
4 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | =$PAGINATION['HTML']?>
16 |
17 |
--------------------------------------------------------------------------------
/theme/admin/html/post/insert.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('insert_post')?>
3 | =$Language->text('insert_post_desc')?>
4 |
5 | =$HTML?>
6 |
7 |
--------------------------------------------------------------------------------
/theme/admin/html/post/item.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | #=$POST['ATTR']['ID']?>
5 | =escapeHTML($POST['ATTR']['NAME'])?>
6 |
7 |
23 |
24 |
25 |
26 |
27 |
28 | =excerpt($POST['BODY']['HTML']())?>
29 |
30 |
31 |
32 |
33 | $value): ?>
34 | - =$argument?>:
=escapeHTML($value)?>
35 |
36 |
37 |
38 |
39 |
46 |
47 |
--------------------------------------------------------------------------------
/theme/admin/html/post/search.php:
--------------------------------------------------------------------------------
1 | %s%s [%d]';
5 | $select = ($category['ID'] == $selected) ? ' selected' : '';
6 |
7 | printf($option, $category['ID'], $select, $prefix, escapeHTML($category['NAME']), $category['ID']);
8 |
9 | if(isset($category['CHILDS'])) {
10 | # If there are children, call self and pass children array.
11 | (__FUNCTION__)($category['CHILDS'], $selected, $prefix.'– ');
12 | }
13 | }
14 | }
15 | ?>
16 | >
17 | =$Language->text('title_post_search')?>
18 | =$Language->text('search_post_desc')?>
19 |
20 |
21 |
22 |
23 |
24 | - =$message?>
25 |
26 |
27 |
28 |
29 |
30 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 | =$PAGINATION['HTML']?>
74 |
75 |
76 |
--------------------------------------------------------------------------------
/theme/admin/html/post/update.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | #=$POST['ATTR']['ID']?>
4 | =$Language->text('update_post')?>
5 |
6 | =$Language->text('update_post_desc')?>
7 |
11 |
12 | =$HTML?>
13 |
14 |
--------------------------------------------------------------------------------
/theme/admin/html/user/delete.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('delete_user')?>
3 | =$Language->text('delete_user_desc')?>
4 |
5 | =$Language->text('delete_user_warning')?>
6 |
7 | =$HTML?>
8 |
9 |
--------------------------------------------------------------------------------
/theme/admin/html/user/index.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('user_overview')?>
3 | =$Language->text('overview_user_desc')?>
4 |
5 | - =$Language->text('insert')?>
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | =$PAGINATION['HTML']?>
15 |
16 |
--------------------------------------------------------------------------------
/theme/admin/html/user/insert.php:
--------------------------------------------------------------------------------
1 |
2 | =$Language->text('insert_user')?>
3 | =$Language->text('insert_user_desc')?>
4 |
5 | =$HTML?>
6 |
7 |
--------------------------------------------------------------------------------
/theme/admin/html/user/item.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | #=$USER['ATTR']['ID']?>
5 | =escapeHTML($USER['ATTR']['FULLNAME'])?>
6 |
7 |
21 |
22 |
23 |
24 |
25 |
26 | =excerpt($USER['BODY']['HTML']())?>
27 |
28 |
29 |
30 |
31 | $value): ?>
32 | - =$argument?>:
=escapeHTML($value)?>
33 |
34 |
35 |
36 |
37 |
44 |
45 |
--------------------------------------------------------------------------------
/theme/admin/html/user/update.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | #=$USER['ATTR']['ID']?>
4 | =$Language->text('update_user')?>
5 |
6 | =$Language->text('update_user_desc')?>
7 |
11 |
12 | =$HTML?>
13 |
14 |
--------------------------------------------------------------------------------
/theme/admin/static/css/bright.scss:
--------------------------------------------------------------------------------
1 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 | # Content background and border color
3 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
4 | $htmlBackground: url("../img/noise-bright.png") #DDD;
5 | $backgroundColor: #FFF;
6 | $backgroundColorEmphasize: #EEE;
7 | $borderColor: #AAA;
8 |
9 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10 | # Header and navigation
11 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
12 | $headerBarTextColor: #333;
13 | $headerBarBackgroundColor: #5E819F;
14 | $navigationLinkBackgroundColor: #DDD;
15 | $navigationLinkFocusedBackgroundColor: #CCC;
16 |
17 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
18 | # Text colors
19 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
20 | $textColor: #333;
21 | $textColorLight: #444;
22 | $textColorStrong: #000;
23 | $formElementTextColor: #404040;
24 | $codeTextColor: #008B45;
25 | $linkColor: #0060A0;
26 | $linkColorFocused: #CCC;
27 | $warningTextColor: #B03060;
28 |
29 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
30 | # Misc
31 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
32 | $itemLinkHoverBackgroundColor: #DDD;
33 | $paginationActiveBackgroundColor: #CCC;
34 |
35 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36 | # Forms
37 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
38 | $formBackgroundColorEmphasize: #DDD;
39 | $formButtonBorderColor: #404040;
40 | $formButtonTextColor: #EEE;
41 |
42 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
43 | # Form buttons
44 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
45 | $insertButtonBackgroundColor: #4D8D5D;
46 | $updateButtonBackgroundColor: #6A8AA5;
47 | $deleteButtonBackgroundColor: #C45C66;
48 |
49 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
50 | # Information message box
51 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
52 | $messageListTextColor: #EEE;
53 | $messageListBackgroundColor: #C45C66;
54 |
55 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
56 | # Scrollbars
57 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
58 | $scrollbarColor: #A1A1A1;
59 | $scrollbarHoverColor: #888888;
60 | $scrollbarBackground: #E1E1E1;
61 |
62 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
63 | # Import stylesheet
64 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
65 | @import "import/styles";
66 |
67 | #theme-toogle-bright {
68 | display: none;
69 | }
70 |
--------------------------------------------------------------------------------
/theme/admin/static/css/dark.scss:
--------------------------------------------------------------------------------
1 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 | # Content background and border color
3 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
4 | $htmlBackground: url("../img/noise-dark.png") #3D434B;
5 | $backgroundColorEmphasize: #32373E;
6 | $backgroundColor: #3D434B;
7 | $borderColor: #1D232B;
8 |
9 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10 | # Header and navigation
11 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
12 | $headerBarTextColor: #000;
13 | $headerBarBackgroundColor: #3B546A;
14 | $navigationLinkBackgroundColor: #2D333B;
15 | $navigationLinkFocusedBackgroundColor: #1D232B;
16 |
17 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
18 | # Text colors
19 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
20 | $textColor: #9DAAB7;
21 | $textColorLight: #8D9AA7;
22 | $textColorStrong: #CDDAE7;
23 | $formElementTextColor: #8D9AA7;
24 | $codeTextColor: #FFB830;
25 | $linkColor: #5EA4D3;
26 | $linkColorFocused: #42474E;
27 | $warningTextColor: #FFB830;
28 |
29 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
30 | # Misc
31 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
32 | $itemLinkHoverBackgroundColor: #42474E;
33 | $paginationActiveBackgroundColor: #42474E;
34 |
35 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36 | # Forms
37 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
38 | $formBackgroundColorEmphasize: #4D535B;
39 | $formButtonBorderColor: #404040;
40 | $formButtonTextColor: #CCC;
41 |
42 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
43 | # Form buttons
44 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
45 | $insertButtonBackgroundColor: #396644;
46 | $updateButtonBackgroundColor: #597186;
47 | $deleteButtonBackgroundColor: #8F4F55;
48 |
49 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
50 | # Information message box
51 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
52 | $messageListTextColor: #BBB;
53 | $messageListBackgroundColor: #8C434A;
54 |
55 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
56 | # Scrollbars
57 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
58 | $scrollbarColor: #838994;
59 | $scrollbarHoverColor: #4C566A;
60 | $scrollbarBackground: #2E3440;
61 |
62 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
63 | # Import stylesheet
64 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
65 | @import "import/styles";
66 |
67 | #theme-toogle-dark {
68 | display: none;
69 | }
70 |
--------------------------------------------------------------------------------
/theme/admin/static/css/import/_fonts.scss:
--------------------------------------------------------------------------------
1 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 | # Font "Font Awesome" [4.7.0] (by Fontello): SIL Open Font License (OFL)
3 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
4 | @font-face {
5 | font-family: "Fontello";
6 | font-weight: 400;
7 | font-style: normal;
8 | src: url("../font/fontello.woff2") format("woff2");
9 | }
10 |
11 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12 | # Font "Kadwa": SIL Open Font License (OFL)
13 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
14 | @font-face {
15 | font-family: "Kadwa";
16 | font-weight: 400;
17 | src: url("../font/kadwa-n-400.woff2") format("woff2");
18 | }
19 |
20 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
21 | # Font "Ruda": SIL Open Font License (OFL)
22 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
23 | @font-face {
24 | font-family: "Ruda";
25 | font-weight: 400;
26 | src: url("../font/ruda-n-400.woff2") format("woff2");
27 | }
28 |
29 | @font-face {
30 | font-family: "Ruda";
31 | font-weight: 700;
32 | src: url("../font/ruda-n-700.woff2") format("woff2");
33 | }
34 |
--------------------------------------------------------------------------------
/theme/admin/static/css/import/_responsive.scss:
--------------------------------------------------------------------------------
1 | @media only screen and (max-width: 90em /*1440px*/) {
2 | .item-container.grid {
3 | grid-template-columns: 1fr 1fr;
4 | }
5 | }
6 |
7 | @media only screen and (min-width: 62.5em /*1000px*/) {
8 | #main-content {
9 | border: 0.05rem solid $borderColor;
10 | border-top: none;
11 | border-bottom: none;
12 | }
13 | }
14 |
15 | @media only screen and (max-width: 62.5em /*1000px*/) {
16 | .item-container.grid {
17 | grid-template-columns: 1fr;
18 | }
19 | }
20 |
21 | @media only screen and (max-width: 50em /*800px*/) {
22 | html {
23 | font-size: 1.125rem; /*18px*/
24 | }
25 | }
26 |
27 | @media only screen and (max-width: 37.5em /*600px*/) {
28 | #main-content {
29 | padding: 0.5rem;
30 | }
31 |
32 | #main-navi {
33 | font-size: 1rem;
34 |
35 | ul {
36 | li {
37 | span {
38 | display: none;
39 | }
40 |
41 | .fa {
42 | margin-right: 0;
43 | }
44 | }
45 | }
46 |
47 | a {
48 | padding: 0.5rem;
49 | }
50 | }
51 |
52 | #emoticon-list-wrapper {
53 | display: none;
54 | }
55 |
56 | .item-container.grid {
57 | grid-column-gap: 0.75rem;
58 | grid-row-gap: 0.75rem;
59 | column-gap: 0.75rem;
60 | row-gap: 0.75rem;
61 | }
62 |
63 | .form-grid {
64 | grid-template-columns: 7rem 1fr;
65 |
66 | &-item, &-item.first, label {
67 | grid-column: unset;
68 | }
69 | }
70 |
71 | .actions {
72 | float: none;
73 | display: flex;
74 | width: 100%;
75 | flex-grow: 1;
76 | justify-content: center;
77 | overflow: hidden;
78 | box-sizing: border-box;
79 |
80 | &-before {
81 | float: none;
82 | }
83 |
84 | li {
85 | flex-grow: 1;
86 |
87 | + li {
88 | border-left: none;
89 | }
90 | }
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/theme/admin/static/css/import/_variables.scss:
--------------------------------------------------------------------------------
1 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 | # Line height
3 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
4 | $lineHeight: 1.2rem;
5 |
6 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7 | # Font families
8 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
9 | $fontFamily: "Ruda", "sans-serif";
10 | $fontFamilyTextarea: "Kadwa", "sans-serif";
11 | $fontFamilyMonospaced: "monospace";
12 |
13 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
14 | # Text font sizes
15 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
16 | $fontSize: 0.7rem;
17 | $fontSizeSmall: $fontSize - 0.1rem;
18 | $fontSizeLarge: $fontSize + 0.1rem;
19 |
20 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
21 | # Heading font sizes
22 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
23 | $fontSizeH1: 0.80rem;
24 | $fontSizeH2: 0.70rem;
25 | $fontSizeH3: 0.65rem;
26 |
27 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
28 | # Content widths
29 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
30 | $contentWidth: 50rem;
31 | $contentWidthWide: 90rem;
32 |
--------------------------------------------------------------------------------
/theme/admin/static/font/fontello.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nerdmind/Blog/31d7269f217f56b017d8e05a66caa2501212ed06/theme/admin/static/font/fontello.woff2
--------------------------------------------------------------------------------
/theme/admin/static/font/kadwa-n-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nerdmind/Blog/31d7269f217f56b017d8e05a66caa2501212ed06/theme/admin/static/font/kadwa-n-400.woff2
--------------------------------------------------------------------------------
/theme/admin/static/font/ruda-n-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nerdmind/Blog/31d7269f217f56b017d8e05a66caa2501212ed06/theme/admin/static/font/ruda-n-400.woff2
--------------------------------------------------------------------------------
/theme/admin/static/font/ruda-n-700.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nerdmind/Blog/31d7269f217f56b017d8e05a66caa2501212ed06/theme/admin/static/font/ruda-n-700.woff2
--------------------------------------------------------------------------------
/theme/admin/static/icon-public-domain.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/theme/admin/static/img/noise-bright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nerdmind/Blog/31d7269f217f56b017d8e05a66caa2501212ed06/theme/admin/static/img/noise-bright.png
--------------------------------------------------------------------------------
/theme/admin/static/img/noise-dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nerdmind/Blog/31d7269f217f56b017d8e05a66caa2501212ed06/theme/admin/static/img/noise-dark.png
--------------------------------------------------------------------------------
/theme/default/html/403.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 | =$Language->text('403_heading_text')?>
11 | =$Language->text('403_heading_desc')?>
12 |
--------------------------------------------------------------------------------
/theme/default/html/404.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 | =$Language->text('404_heading_text')?>
11 | =$Language->text('404_heading_desc')?>
12 |
--------------------------------------------------------------------------------
/theme/default/html/category/item.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 |
11 |
12 |
13 |
14 | =escapeHTML($CATEGORY['ATTR']['NAME'])?>
15 |
16 |
17 |
18 | =$Language->text('posts')?>: =$COUNT['POST']?> –
19 | =$Language->text('categories')?>: =$COUNT['CHILDREN']?>
20 |
21 |
22 |
23 |
24 | =$CATEGORY['BODY']['HTML']()?>
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/theme/default/html/category/list.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 | =$Language->text('category_overview')?>
11 | =$Language->text('category_list_title', $PAGINATION['THIS'])?>
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | =$Language->text('category_list_empty')?>
21 |
22 |
23 | =$PAGINATION['HTML']?>
24 |
--------------------------------------------------------------------------------
/theme/default/html/category/main.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 | =escapeHTML($CATEGORY['ATTR']['NAME'])?>
11 |
12 |
13 |
14 | - =escapeHTML($category['ATTR']['NAME'])?>
15 |
16 |
17 |
18 |
19 |
20 | =$CATEGORY['BODY']['HTML']()?>
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | =$Language->text('posts')?>
32 | =$Language->text('category_posts_page', $PAGINATION['THIS'])?>
33 |
34 |
35 |
36 |
37 |
38 |
39 | =$PAGINATION['HTML']?>
40 |
41 |
42 | =$Language->text('category_empty')?>
43 |
44 |
45 |
--------------------------------------------------------------------------------
/theme/default/html/feed/item.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 |
10 | $HTML = $POST['BODY']['HTML']();
11 | ?>
12 | -
13 |
=escapeHTML($POST['ATTR']['NAME'])?>
14 | =$POST['URL']?>
15 | =sha1($POST['ATTR']['ID'].$POST['ATTR']['TIME_INSERT']);?>
16 | =parseDatetime($POST['ATTR']['TIME_INSERT'], '[RFC2822]')?>
17 | =escapeHTML($USER['ATTR']['FULLNAME'])?>
18 | =escapeHTML(description($HTML, 400))?>
19 |
20 |
22 | ]]>
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/theme/default/html/feed/main.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 |
10 | $title = escapeHTML($BLOGMETA['NAME']);
11 | $self = Application::getURL('feed/');
12 | ?>
13 | =''?>
14 |
16 |
17 | =$title?>
18 | =Application::getURL()?>
19 | =$BLOGMETA['LANG']?>
20 | =escapeHTML($BLOGMETA['DESC'])?>
21 |
22 |
23 |
24 |
25 | =$title?>
26 | =Application::getTemplateURL('static/logo.png')?>
27 | =Application::getURL()?>
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/theme/default/html/home.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 | =$Language->text('home_heading_text', escapeHTML(Application::get('BLOGMETA.NAME')))?>Feed
11 | =$Language->text('home_heading_desc', Application::get('POST.LIST_SIZE'))?>
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | =$PAGINATION['HTML']?>
20 |
--------------------------------------------------------------------------------
/theme/default/html/page/item.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 |
11 |
12 |
13 | =escapeHTML($PAGE['ATTR']['NAME'])?>
14 |
15 |
16 |
17 |
18 | =excerpt($PAGE['BODY']['HTML'](), 600)?>
19 |
20 |
21 |
--------------------------------------------------------------------------------
/theme/default/html/page/list.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 | =$Language->text('page_overview')?>
11 | =$Language->text('page_overview_heading_desc', $PAGINATION['THIS'])?>
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | =$PAGINATION['HTML']?>
20 |
--------------------------------------------------------------------------------
/theme/default/html/page/main.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 |
10 | $user = "{$USER['ATTR']['FULLNAME']}";
11 | $time = "";
12 | ?>
13 | =escapeHTML($PAGE['ATTR']['NAME'])?>
14 | =$Language->text('page_main_heading_desc', [$user, $time])?>
15 |
16 |
17 | =$PAGE['BODY']['HTML']()?>
18 |
19 |
20 |
35 |
--------------------------------------------------------------------------------
/theme/default/html/pagination.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 |
40 |
--------------------------------------------------------------------------------
/theme/default/html/post/item.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 |
11 |
12 |
13 | =escapeHTML($POST['ATTR']['NAME'])?>
14 |
15 |
16 |
17 |
18 | =$POST['BODY']['HTML']()?>
19 |
20 |
21 |
--------------------------------------------------------------------------------
/theme/default/html/post/list.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 | =$Language->text('post_overview')?>Feed
11 | =$Language->text('post_overview_heading_desc', $PAGINATION['THIS'])?>
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | =$PAGINATION['HTML']?>
20 |
--------------------------------------------------------------------------------
/theme/default/html/post/main.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 |
10 | $user = "{$USER['ATTR']['FULLNAME']}";
11 | $time = "";
12 | ?>
13 | =escapeHTML($POST['ATTR']['NAME'])?>
14 | =$Language->text('post_main_heading_desc', [$user, $time])?>
15 |
16 |
17 | =$POST['BODY']['HTML']()?>
18 |
19 |
20 |
21 |
22 |
23 | - =escapeHTML($category['ATTR']['NAME'])?>
24 |
25 |
26 |
27 |
28 |
43 |
--------------------------------------------------------------------------------
/theme/default/html/search/main.php:
--------------------------------------------------------------------------------
1 | =$Language->text('search_base_heading_text')?>
2 | =$Language->text('search_base_heading_desc')?>
3 |
4 |
5 | =$SEARCH['INFO']?>
6 |
7 |
8 |
35 |
--------------------------------------------------------------------------------
/theme/default/html/search/result.php:
--------------------------------------------------------------------------------
1 | =$Language->text('search_result_heading_text', escapeHTML($SEARCH['TEXT']))?>
2 | =$Language->text('search_result_heading_desc')?>
3 |
4 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | =$PAGINATION['HTML']?>
39 |
--------------------------------------------------------------------------------
/theme/default/html/user/item.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 |
11 |
12 |
13 | =escapeHTML($USER['ATTR']['FULLNAME'])?>
14 |
15 | =escapeHTML($USER['ATTR']['USERNAME'])?>
16 |
17 |
18 | =$USER['BODY']['HTML']()?>
19 |
20 |
21 |
--------------------------------------------------------------------------------
/theme/default/html/user/list.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 | =$Language->text('user_overview')?>
11 | =$Language->text('user_overview_heading_desc', $PAGINATION['THIS'])?>
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | =$PAGINATION['HTML']?>
20 |
--------------------------------------------------------------------------------
/theme/default/html/user/main.php:
--------------------------------------------------------------------------------
1 | ] #
4 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
5 | # #
6 | # [see documentation] #
7 | # #
8 | #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
9 | ?>
10 | =escapeHTML($USER['ATTR']['FULLNAME'])?>
11 | =$Language->text('user_main_heading_desc', [escapeHTML($USER['ATTR']['USERNAME']), $COUNT['POST'], $COUNT['PAGE']])?>
12 |
13 |
14 | =$USER['BODY']['HTML']()?>
15 |
16 |
17 |
32 |
--------------------------------------------------------------------------------
/theme/default/static/css/import/_fonts.scss:
--------------------------------------------------------------------------------
1 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 | # Font "Font Awesome" [4.7.0] (by Fontello): SIL Open Font License (OFL)
3 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
4 | @font-face {
5 | font-family: "Fontello";
6 | font-weight: 400;
7 | font-style: normal;
8 | src: url("../font/fontello.woff2") format("woff2");
9 | }
10 |
11 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12 | # Font "Ruda": SIL Open Font License (OFL)
13 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
14 | @font-face {
15 | font-family: "Ruda";
16 | font-weight: 400;
17 | src: url("../font/ruda-n-400.woff2") format("woff2");
18 | }
19 |
20 | @font-face {
21 | font-family: "Ruda";
22 | font-weight: 700;
23 | src: url("../font/ruda-n-700.woff2") format("woff2");
24 | }
25 |
--------------------------------------------------------------------------------
/theme/default/static/css/import/_responsive.scss:
--------------------------------------------------------------------------------
1 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 | # Responsive Level #1
3 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
4 | @media only screen and (max-width: 50em) {
5 | html {
6 | font-size: 1.125rem; /*18px*/
7 | background-image: none !important;
8 | }
9 |
10 | body {
11 | line-height: 1.2rem;
12 | }
13 |
14 | #container {
15 | margin: 0;
16 | border-right: none;
17 | border-left: none;
18 | }
19 | }
20 |
21 | /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
22 | # Responsive Level #2
23 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
24 | @media only screen and (max-width: 37.5em) {
25 | main, #main-header > div {
26 | padding: 1rem;
27 | }
28 |
29 | #main-navi {
30 | padding: 0.25rem 1rem;
31 | }
32 |
33 | #main-navi a {
34 | border: 0.05rem solid transparent;
35 | }
36 |
37 | #main-navi a:hover, #main-navi a:focus {
38 | border: 0.05rem solid #BBB;
39 | }
40 |
41 | #main-navi > ul {
42 | display: none;
43 | float: none;
44 | }
45 |
46 | #main-navi > ul > li a {
47 | display: block;
48 | text-align: left;
49 | padding: 0 0.25rem;
50 | }
51 |
52 | #main-navi {
53 | overflow: hidden;
54 | }
55 |
56 | #toogle-nav-label {
57 | display: block;
58 | }
59 |
60 | #toogle-nav:checked + ul {
61 | display: block;
62 | }
63 |
64 | #main-navi li:last-child {
65 | float: none;
66 | }
67 |
68 | .item > header {
69 | text-align: center;
70 | }
71 |
72 | .item > header > h2,
73 | .item > header > .info {
74 | float: none;
75 | display: block;
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/theme/default/static/font/fontello.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nerdmind/Blog/31d7269f217f56b017d8e05a66caa2501212ed06/theme/default/static/font/fontello.woff2
--------------------------------------------------------------------------------
/theme/default/static/font/ruda-n-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nerdmind/Blog/31d7269f217f56b017d8e05a66caa2501212ed06/theme/default/static/font/ruda-n-400.woff2
--------------------------------------------------------------------------------
/theme/default/static/font/ruda-n-700.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nerdmind/Blog/31d7269f217f56b017d8e05a66caa2501212ed06/theme/default/static/font/ruda-n-700.woff2
--------------------------------------------------------------------------------
/theme/default/static/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Nerdmind/Blog/31d7269f217f56b017d8e05a66caa2501212ed06/theme/default/static/logo.png
--------------------------------------------------------------------------------
/theme/default/static/main.js:
--------------------------------------------------------------------------------
1 | //==============================================================================
2 | // Elements which contains the location of the previous and next site
3 | //==============================================================================
4 | const prev = document.getElementById("prev-site");
5 | const next = document.getElementById("next-site");
6 |
7 | //==============================================================================
8 | // Handle arrow keys and change the location to the desired direction
9 | //==============================================================================
10 | document.addEventListener("keyup", function(e) {
11 | if(!e.ctrlKey && !e.shiftKey && !e.altKey) {
12 | (e.keyCode === 37 && prev) && (window.location.href = prev.getAttribute("href"));
13 | (e.keyCode === 39 && next) && (window.location.href = next.getAttribute("href"));
14 | }
15 | }, false);
16 |
--------------------------------------------------------------------------------