Initial Documentation Commit

This commit is contained in:
mmk2410 2015-08-21 18:53:37 +02:00
parent 4b52d81282
commit 5e7f0b542a
49 changed files with 694 additions and 4810 deletions

1
.gitignore vendored
View File

@ -1 +0,0 @@
nbproject/

22
LICENSE
View File

@ -1,22 +0,0 @@
The MIT License (MIT)
Copyright (c) 2015 Marcel Kapfer
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -1,96 +0,0 @@
# Rangitaki PHP blogging engine
Rangitaki is a simple to use and easy to configure blogging engine, written in PHP and it has absolutely no database dependencies.
##Important - Please read
Right now there are two versions in development. The series 0.2 and everything higher. Version 0.2 is ready for production while everything higher are development releases and not ready for productive use. I recommend you to use the latest Version of the 0.2 series which you can find in the branch "Series-0.2" or wait until 1.0 is release, which will be at the end of July. The latest version is 0.2.2 which is available in the releases section. This readme is for the version >= 0.3.
Read also this [blog article](https://marcel-kapfer.de/rangitaki/blog/?article=2015-03-29-21-34-About-the-Future-of-pBlog) which explains the reasons behind this step.
## What is it?
My goal for Rangitaki was (and still is) to create a blogging engine without database dependencies (so you don't have to create database and tables and all that stuff) which is extremely easy and fast to setup and to learn. Rangitaki doesn't require any knowledge concerning PHP, JavaScript, HTML or CSS. You just need to know, how to upload something to your web server. There is also no need to compile anything, you just have to fill out twelve setting properties and then you can start writing your articles.
For version 1.0 I will provide a documentation and a quick-start guide.
## So, what can it do?
- Post writing in Markdown with a few keywords for the title, tags, date and the author (all optional)
- Multiple blogs
- A Subpages for each article with a comment box (Disqus; can be disabled)
- Share buttons (FAB; can be disabled)
- Disqus integration (can be disabled)
- Fast and easy configuration
- Google Analytics (optional)
- Twitter and OpenGraph meta tags
- Different themes
- Easy localization (just 3 (!) strings)
- Custom footer
- Navigation drawer (can be disabled)
- Tags
- Set author and date
- Mobile-first
- Rangitaki Control Center (RCC; optional, requires linux know-how, do not enable this unless you know what your doing)
- Online post upload
- More will come...
## Did you say 'themes'?
Yes. Rangitaki has a theme support which makes it easy to customize your blog concerning design. A documentation on how to create a theme will be available with version 1.0.
## What is that RCC?
**This is disabled by default. Do not enable it without carefully reading the RCC documentation.**
The RCC (Rangitaki Control Center) is still in development and features right now only a post upload. If you wanna use it you have to change file permissions manually on your server and also add some values to different text files.
A documentation for RCC will be available with the Rangitaki 1.0 release.
## Where can I see an example?
- Official Rangitaki blog [marcel-kapfer.de/rangitaki/blog](https://marcel-kapfer.de/rangitaki/blog)
- My personal blog
[marcel-kapfer.de/blog](https://marcel-kapfer.de/blog)
Would you like to see your Rangitaki blog here? Write me a message at [marcelmichaelkapfer@yahoo.co.nz](mailto:marcelmichaelkapfer@yahoo.co.nz)
## What do you see in your crystal ball?
I'm thinking of releasing a Rangitaki PHP framework later this year, so you can simply build your own blog.
I also planning to port the engine and the framework into JavaScript. Which would be good for people without a PHP server and it would also be possible to create a Polymer element.
## Used Library
- For converting the Markdown blog articles into HTML code I use [Parsedown](http://parsedown.org)
## Contributing
### Code
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create New Pull Request
### Localization
Contribute localization files just like code. If you don't have a GitHub account you can also send me the files to [marcelmichaelkapfer@yahoo.co.nz](mailto:marcelmichaelkapfer@yahoo.co.nz)
### Team
If you want to join the Rangitaki "team" and are willing to invest some time into this project, then contact me over mail ([marcelmichaelkapfer@yahoo.co.nz](mailto:marcelmichaelkapfer@yahoo.co.nz)), Google+ ([+MarcelMichaelKapfer](https://plus.google.com/+MarcelMichaelKapfer) or Twitter ([@mmk2410](https://twitter.com/mmk2410)) and we can talk about that.
## Social
You can follow my personal Twitter and Google+ account to receive news about the Rangitaki blogging engine.
- [Twitter @mmk2410](https://twitter.com/mmk2410)
- [Google+ +MarcelKapfer](https://plus.google.com/+MarcelMichaelKapfer/posts)
## Trello
- [Trello Board](https://trello.com/b/7qb5I6EQ/rangitaki)

View File

@ -1,13 +0,0 @@
%TITLE: Version 2.0
%DATE: 27 March 2015
%TAGS: 0.2-Series
This version introduces some very imporant features:
- **Own page for every article**
- Social **sharing buttons** (at the moment: google+, twitter, facebook but more will follow)
- **Disqus** integration
- Local **config file** -> no more editing the index file
pBlog 2.0 is only partially compatible with prior versions. You don't have to change anything in the posts or intro file (in case you have one), but to switch to version 2.0 you have to replace your index.php with the new one. With this step all your settings like the title will be lost and you have to set them in the new config.php file. For more questions write me a mail to marcelmichaelkapfer@yahoo.co.nz.
In the near future I will spend more time in writing a documentation about the blog engine and adding more comments (especially in the css file).

View File

@ -1,4 +0,0 @@
%TITLE: Version 2.1
%DATE: 29 March 2015
This version includes fixes for the article links. You only have to replace the hrefgenerator.php file in the res folder.

View File

@ -1,6 +0,0 @@
%TITLE: About the Future of pBlog
%DATE: 29 March 2015
%AUTHOR: Marcel Michael Kapfer
%TAGS: Important, 0.2-Series
I figured out that there will be many changes in the engine which will require many changes in the files (especially the posts file) and in the filestructure. I can't say right now which things will change and what you have to change. Out of this reason. I change the Version numbers and add an zero in front of them. So instead of 2.1 the latest version is now 0.2.1. The 0.2.x series is now on GitHub as an own branch and will recive bugfix updates. The series 0.3, 0.4, 0.5 and so own will be development releases which won't be compatible to the 0.2 series. I recommend current users to stay on 0.2.x - at least until the 1.0 release. I'm verry sorry for this and in case that there are requests I may write a small script that will help you switch to version 1.0.

View File

@ -1,10 +0,0 @@
%TITLE: What else are we working on?
%DATE: 11 June 2015
%TAGS: Future
Near the Rangitaki PHP blogging engine there are other projects were working on or where we will start development soon:
- Rangitaki JavaScript blogging engine
- Rangitaki PHP framework
- Rangitaki JavaScript framework
- Rangitaki Polymer elements

View File

@ -1,7 +0,0 @@
%TITLE: RCC stable
%DATE: 15 July 2015
%TAGS: rcc
RCC (Rangitaki Control Center) is now in a stable state. Even if it has just one feature right now, it is an important one: uploading your posts from the web. To use it you have to manually enable it in the config.php and you must set a password in rcc/password.php. If you were using rangitaki in an earlier version you should really upgrade to the latest version, out of security reasons.
I will add more features to RCC in coming releases, including a media upload and other features.

View File

@ -1,5 +0,0 @@
%TITLE: Test the link
%DATE: 24 July 2015
%TAGS: developing, testing
[asdfadsfsldhfasdklhflnfkhdaskljfasdhfkhaskldhflaskjdhflkadsjhflkahfds.com/asdfadsfsldhfasdklhflnfkhdaskljfasdhfkhaskldhflaskjdhflkadsjhflkahfds/asdfadsfsldhfasdklhflnfkhdaskljfasdhfkhaskldhflaskjdhflkadsjhflkahfds](http://asdfadsfsldhfasdklhflnfkhdaskljfasdhfkhaskldhflaskjdhflkadsjhflkahfds.com/asdfadsfsldhfasdklhflnfkhdaskljfasdhfkhaskldhflaskjdhflkadsjhflkahfds)

View File

@ -1,7 +0,0 @@
%TITLE: The Rangitaki logo
%DATE: 24 July 2015
%TAGS: design, artwork, logo
This is the official Rangitaki logo.
![The Rangitaki logo](media/rangitaki.png)

View File

@ -1,14 +0,0 @@
%TITLE: main
This is the Blog of the Blog Engine **Rangitaki**
Rangitaki is based on PHP, XML and Markdown. It is easy to install and to configure.
The latest Version of the 0.2 series is **0.2.2**
The latest Version of the development stream isn' ready yet.
** !IMPORTANT! Please read [this](index.php?article=About-the-Future-of-pBlog) for more information about the different versions of pBlog.**
You can find the source code on [GitHub](https://github.com/mmk2410/Rangitaki).

View File

@ -1 +0,0 @@
%TITLE: Other projects

View File

@ -1,3 +0,0 @@
%TITLE: Rumor Edge
This is a mysterious collection about evil messages, we like to call... RUMORS.

View File

@ -1,40 +0,0 @@
<?php
// Rangitaki Project
// This is the configuration file. You can configure here all necessary (and possible) options without editing the index.php file.
// Every line has an description about what you can change here. Don't delete any strings. You can set your value after the '=' sign and between the apostrophes.
// Make sure that every line ends with an semicolon (';').
// Blog Title - Set here an individual title of your blog by replacing Rangitaki Blog with it.
$blogtitle = 'Rangitaki Blog';
// Blog Author - Set here your name
$blogauthor = 'Marcel Kapfer';
// Blog description
$blogdescription = 'Rangitaki - A PHP blogging engine without any database dependency';
// Home - set yes if you want to link to your homepage and no if not
$bloghome = 'yes';
// Home URL - Set here the url to your main page. Either relative (e.g. '../') or absolute (e.g. 'http://github.com')
$bloghomeurl = '../';
// Home name - Set here an individual name for your main page
$bloghomename = 'Home';
// Main Blog name -> Set a specific name for your name blog
// This value is empty by default
$blogmainname = '';
// Intro - set yes if you have a blog intro and no if you don't have one
$blogintro = 'yes';
// Disqus - Provide here your Disqus shortname. Leave empty if you don't want to use it.
$blogdisqus = 'rangitaki';
// Share FAB - this enables or disables the share button
$sharefab = 'yes';
// Google Analytics - Provide here your Google Analytics Tracking-ID. Leave empty if you don't want to use it.
$bloganalytics = '';
// Footer - set here the text for your footer (e.g. a copyright info). You can replace the whole text after the '=' with your own one.
$blogfooter = 'Rangitaki ' . date("Y") . ' <a href="https://github.com/mmk2410/Rangitaki" target="blank">github.com/mmk2410/Rangitaki</a>';
// This enables the optional rangitaki control center. Please read the documentation before you enable it.
$rcc = 'no';
// Here you can disable and enable the navigation menu. Usefull if you have no subblogs and no home directory
$nav_drawer = 'yes';
// Set here the name of your theme. Read the documentation for more themes
$theme = 'material-light';
// Set here your language. The file must exist in the lang directory
$language = "en";
// Favicon - Set here the path to your favicon
$favicon = "https://example.com/res/img/favicon.png";

47
contribute.md Normal file
View File

@ -0,0 +1,47 @@
# Contributing
You want to help the Rangitaki project? There is always a way you can do that. Spreading Rangitaki on social networks would be one possibility, but there are more.
## Content
1. Bugs
2. Code
3. Localization
4. Documentation
5. Team
## 1 Bugs
You found a bug in Rangitaki? Report it in the Rangitaki bug tracker on GitHub. <!--TODO link-->
## 2 Code
To contribute some code to the Rangitaki project follow these steps
1. Fork the GitHub repository
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create New Pull Request
<!-- TODO links-->
## 3 Localization
The Rangitaki project is always glad if someone translates the few strings. Commit your new translation in GitHub just like a code change. Read the localization documentation for more information. If you don't have a GitHub account you can also send me the translated file at marcelmichaelkapfer@yahoo.co.nz. <!--TODO Link-->
## 4 Documentation
If you want to correct or improve this documentation follow the steps of *2. Code* but with the branch **Documentation**.
## 5 Team
You want to join the Rangitaki team and invest more time into coding this blogging engine? Write me a mail at marcelmichaelkapfer@yahoo.co.nz

262
documentation.md Normal file
View File

@ -0,0 +1,262 @@
# Documentation
##### For Rangitaki Version 1.0.0
This is the full documentation for Rangitaki 1.0. If you're new to Rangitaki I recommend you to read the Quick Starting Guide <!--TODO link--> first.
This documentation covers anything concerning usage, setup and structure. For information on how to create themes, how to use RCC, how to localize or how to contribute look in the documentations for these topics.
<!--TODO link-->
## Content
1. Requirements
1. Server
2. Home Computer
3. Personal Skills
2. Setup
1. Installation
2. Configuration
3. Usage
1. Blog posts
2. Blogs
3. Media
4. Structure
1. /
2. /articles/
3. /blogs/
4. /lang/
5. /media/
6. /rcc/
7. /res/
8. /themes/
## 1 Requirements
In this chapter I will outline the requirements of Rangitaki concerning your web server, your home computer and your personal skills. Since Rangitaki is built to be simple and easy, the following paragraphs won't be that long.
### 1.1 Web server
Rangitaki itself requires a **web server** like the Apache HTTP Server or nginx, with a **PHP** installation. (For the installation and configuration read the manual of your distribution). You don't need to install any kind of database programs on your server.
It is recommended to use (or enable) SSH access to the server, because the Rangitaki project may provides software in the future that will access your web server over SSH.
### 1.2 Home computer
You don't need any special software on your home computer. Just a simple text editor for writing the blog posts is needed. It is recommended (but certainly not necessary) to use an editor with syntax highlighting for Markdown.
### 1.3 Personal skills
Since Rangitaki tries to be as simple as possible, you don't need much skills. You should be able to upload files and directories to your server and a few basics in Markdown, which is the Markup language in which the blog posts are written. If you don't know any Markdown yet, it is very easy to learn and this can be done at <!--TODO Link-->.
## 2 Setup
If you're new to Rangitaki, I recommend you to start with the quick starting guide <!--TODO link--> and come back to this page if you need more information.
### 2.1 Installation
There are two ways of installing Rangitaki:
The first one is to ownload the latest release of Rangitaki from GitHub <!--TODO link-->, unpack it and upload it to your server.
You can also download Rangitaki directly to your server using `curl` or `wget` and unpack it right there.
You can saftly delete ever file with the name example, but I recommend you to look at these files to see how things are done in Rangitaki.
### 2.2 Configuration
Configuring Rangitaki is quite easy and done by editing one file: the `config.php` in the source of your Rangitaki installation.
In the following lines I will describe, what you can do with each option. Mind ALWAYS the semicolor at the and and the marks around the value.
`$blogtitle = "Divide through zero";`
This is the name of your blog. Set it to something you thing is right. Rangitaki takes this value at every call, so you don't have to re-generate something, if you change it.
`$blogauthor = "Big Zero";`
Set here you're name. This will not shown on the Rangitaki blog itself, but I is shown if you share the blog or a article in a social network.
`$blogdescription = "Some wrong facts about the world";`
Set here a short description of the blog. This value is also only used for sharing.
`$bloghome = "yes";`
Set here *yes* if your blog is a subdirectory of a website and *no* if it isn't.
`$bloghomeurl = "/dev/null";`
This is the URL to your main page. Only used if `$bloghome` is set to *yes*
`$bloghomename = "Deep and Dark...";`
This is the name of your main page as shown in the Rangitaki navigation drawer. Only used if `$bloghome` is set to *yes*
`$blogmainname = "The complete Pi!";`
The name of your main blog. By default this is empty and the `$blogtitle` is used for that. But in some cases it comes in quite handy.
`$blogintro = "yes";`
Set to *no* if you don't want to show any blog intro. Read 3.2 Blogs for more information.
`$blogdisqus = "thelostkeyboard";`
Set here the Disqus ID for this site if you have one. Leave empty to disable.
`$sharefab = "yes";`
This disables (*no*) and enables (*yes*) the share floating action button in the bottom right corner. Enabled by default.
`$bloganalytics = "TrAcK00mE";`
Set here the ID of your Google Analytics property. Leave empty to disable it.
`$blogfooter = "This is the end!";`
Set here a text for your footer. You can also write some PHP here if you know any.
`$rcc = "no";`
Disables / Enables the RCC. Read the RCC documentation for more. <!--TODO link-->
`$nav_drawer = "yes";`
With *no* you can disable the navigation drawer on the left side.
`$theme = "material-light";`
Set here the name of the theme you wan't to use. All themes are in the folder `themes`
`$language = "js";`
Set here the language of your blog. All languages are in the folder `lang`. You can easily translate it to your own language since there aren't many strings. Read also the localization doc. <!--TODO link-->
`$favicon = "http://trash.your.icon/facicon.png";`
Set here the weburl to your favicon.
## 3 Usage
In the following paragraphs I describe the details of using Rangitaki.
### 3.1 Blog posts
Every post is saved in the directory /articles/name-of-the-blog/YYYY-MM-DD-hh-mm-title.md
You can drop the hh-mm if you don't write more than one blog post a day. Rangitaki will use this timestamp to sort your blogpost and to show them chronologically in your blog. The title doesn't need to be the complete title of your blog post.
The blog posts itself consists of two parts. The Rangitaki keywords and the main content
**Rangitaki Keywords**
There are four Rangitaki keywords you can set for everey post. Each one of them is not necessary, but the most should be set.
A keyword starts with a `%` followed by the keyword (all uppercase letters), a space, a `=`, another space and the value. Mind also the order of the keywords. It cannot changed.
`%TITLE = How to control the whole world. Pt. 1`
The first keyword is the title of your posts.
`%DATE = 6 June 666 06:06`
The second one is the date. The format is completly free to choose.
`%AUTHER = The Devil`
The author of the blog post.
`%TAGS = world, evil`
The tags of a post. Seperated by a colon and a space.
Leave then on line emtpy and start writing your blog post. For formatting the text, use Markdown.
### 3.2 Blogs
Rangitaki supports multiple subblogs in one blog. The *main* blog is also just a subblog, but it is used as the default one.
To create a blog, just create a directory in articles with the name of your blog and a file with the same name and an *.md* extension in `/blogs`.
The `blogname.md` is the so called blogfile. In this file you have to set one keyword. And in Rangitaki 1.0.0 there is also just one keyword available.
`%TITLE = Power off`
The keyword is set exactly the same way as in the blog posts.
Another special thing that Rangitaki has are blog intros. Text that are at the beginning a blog, before th first blog posts. The blog intros support also Markdown and you can write them in your blogfile. Leave one line empty after the *%TITLE* keyword and start writing your blog intro.
### 3.3 Media
How you save your media files is up to you. Rangitaki has a `/media` directory to store that stuff if you want. There is only one important thing: If you include some media in your blog post with relative paths, then the paths begin not in your articles directory but in the Rangitaki source directory.
## 4 Structure
Here I will explain the structur of the Rangitaki blogging engine. The root directory is the root directory of the blog, not of your computer.
### 4.1 /
In the root directory of Rangitaki you will find the following files:
- config.php
The file where the settings for your Rangitaki blog are stored. All the options are discussed earlier.
- index.php
The file which creates your blog, if you visit it in the web.
- LICENSE
The license of Rangitaki
- README.md
A short readme
### 4.2 /articles/
In the articles directory are the directory for you subblogs (at least one, the main blog). These directories are filled with your blog posts.
### 4.3 /blogs/
In this directory all your blog files are listed. At least you need the *main.md*.
### 4.4 /lang/
Here you can find the language files that Rangitaki uses to localize some strings. Read more in the localization documentation. <!--TODO link-->
### 4.5 /media/
A directory where you can store your images, videos or other stuff.
### 4.6 /rcc/
The directory of the Rangitaki Control Center (RCC). Read the RCC documentation for more information. <!--TODO link-->
### 4.7 /res/
Here are some important files for the blog like images (e.g. the share buttons), the base style sheet, some JavaScripts and a few PHP files.
### 4.8 /themes/
This is the directory where the Rangitaki themes are stored. If you found another Rangitaki theme online, save it into this directory and choose it in your config.php.

264
index.php
View File

@ -1,264 +0,0 @@
<!DOCTYPE HTML>
<!--
Rangitaki
GitHub: https://github.com/mmk2410/Rangitaki
Web: https://marcel-kapfer.de/rangitaki
Twitter: @Rangitaki
Google+: +Rangitaki
-->
<!--
COPYRIGHT (c) 2015 mmk2410
MIT License
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-->
<html>
<?php
/**
* Rangitaki PHP Blogging engine
*/
// Getting necessary php files
require 'config.php'; // Config file (this must be the first line)
require './lang/' . $language . ".php"; // Language file
require_once 'res/php/Parsedown.php'; // The soul of the beast: Parsedown
require_once 'res/php/ArticleGenerator.php'; // The article generator
require_once './res/php/BlogListGenerator.php'; // and the blog list generator
// Getting some variables ($_GET and $_SERVER)
$getblog = filter_input(INPUT_GET, "blog"); // getting the blog variable
$getarticle = filter_input(INPUT_GET, "article"); // getting the article variable
$gettag = filter_input(INPUT_GET, "tag"); // getting the tag variable
$url = "http://" . filter_input(INPUT_SERVER, "HTTP_HOST") . filter_input(INPUT_SERVER, "REQUEST_URI"); // getting the url (used for sharing)
?>
<head>
<meta charset="utf-8">
<title><?php echo $blogtitle; // Setting the blog article?></title>
<!--Metatags-->
<meta name="author" content="<?php echo $blogauthor; // Setting the blog author ?>" />
<meta name="description" content="<?php echo $blogdescription; // the blog description ?>" />
<!-- Meta tag for responsive ui-->
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
<!-- OpenGraph meta tags -->
<meta property="og:title" content="<?php echo $blogtitle; ?>" />
<meta property="og:type" content="website" />
<meta property="og:url" content="<?php echo $url; ?>" />
<meta property="og:image" content="<?php echo $favicon; ?>" />
<meta property="og:description" content="<?php echo $blogdescription; ?>" />
<meta property="og:locale:alternate" content="<?php echo $lang; ?>" />
<!-- Twitter meta tags -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="<?php echo $twitter; ?>" />
<meta name="twitter:title" content="<?php echo $blogtitle; ?>" />
<meta name="twitter:description" content="<?php echo $blogdescription; ?>" />
<meta name="twitter:image" content="<?php echo $favicon; ?>" />
<meta name="twitter:url" content="<?php echo $url; ?>" />
<!--CSS files-->
<link rel="stylesheet" type="text/css" href="res/css/rangitaki.css" />
<link rel="stylesheet" type="text/css" href="themes/<?php echo $theme; // getting the theme stylesheet?>.css" />
<?php
// Checking if the drawer is enabled
if ($nav_drawer == 'no') {
// Loading additional stylesheet for disabling the drawer?>
<link rel="stylesheet" type="text/css" href="res/css/no-nav.css" />
<?php
}
?>
<link href='//fonts.googleapis.com/css?family=Roboto:400,500,700,300,400italic,100,100italic,900' rel='stylesheet' type='text/css'> <!--Font-->
<link rel="stylesheet" href="./res/css/github-gist.css"> <!-- stylesheet for code highlighting-->
<!--Favicons-->
<link rel="shortcut icon" type="image/x-icon" href="<?php echo $favicon; ?>" />
<link rel="apple-touch-icon-precomposed" href="<?php echo $favicon; ?>">
<!-- JavaScript Pt. 1: HightlightJS (get and load): Code highlighting-->
<script src="./res/js/highlight.pack.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
</head>
<body>
<?php
// Checking if the navigation drawer is enabled. If not -> skip it
if ($nav_drawer == "yes") {
?>
<div class="overlay"></div> <!-- Darken the background when fading the drawer in. See also the JS file-->
<div class="nav">
<div class="divider"></div>
<?php
$blogs = scandir("./blogs/"); // Getting everything from the blog directory
if (!isset($getarticle) && !isset($gettag) && sizeof($blogs) > 3) { // Checking if not in article or tag view and if there are more the one blog. The 3 is for these three array entries: 'main.md', '.', '..'
echo "<section>";
echo "<div class='nav-item-static'>" . $BLOGLANG['Blogs on'] . " $blogtitle:</div>"; // 1. Set localized string 2. Set blogtitle
foreach ($blogs as $blog) { // iterating through the blogs/ directory
if (strlen($blog) >= 3 && substr($blog, -3) == ".md") { // check if filename is larger than three chars and if the file ends with ".md"
if ($getblog == "") { // Run when on main blog
if ($blog != "main.md") { // excluding main blog
BlogListGenerator::listBlog("./blogs/", $blog, $blogtitle); // creating navigation item
}
} else {
if ($getblog . ".md" != $blog) { // Check if $blog is current blog -> this blog will be excluded
// Make sure that the entry has a title, because main.md hasn't one
if (empty($blogmainname)) {
$blogmaintitle = $blogtitle;
} else {
$blogmaintitle = $blogmainname;
}
BlogListGenerator::listBlog("./blogs/", $blog, $blogmaintitle); // creating navigation item
}
}
}
}
echo "</section>";
} elseif (isset($getarticle) || isset($gettag)) { // If viewing a blog or a tag
?>
<a class="nav-item" onclick="goBack()">Go back</a> <!-- Set a back item instead of the blogs. -->
<?php
}
if ($bloghome == "yes") { // If a blog home is existend
?>
<div class="divider"></div>
<a class="nav-item" href="<?php echo $bloghomeurl; ?>"><?php echo $bloghomename; ?></a>
<?php
}
?>
</div> <!-- End of the navigation drawer-->
<?php
} // Endif from line 97; Yes, I really should think about alternative syntax...
// Set blog to "main" if on main blog, else to $getblog. This variable is needed later
if ($getblog == "") {
$blog = "main";
} else {
$blog = $getblog;
}
?>
<div class="main"> <!-- Main page with content -->
<div class="header"> <!-- Action Bar, but since there isn't much action I call it header. One day a search feature would be nice...-->
<img src="./res/img/menu.svg" class="nav-img" /> <!-- Ham,ham,hamburger-->
<!-- Blog title with subblog title and links to each one-->
<nobr><span class="title"><a href="./"><?php echo $blogtitle; ?><!-- link to main blog-->
<?php
if (empty($getblog)) { // if not on a subblog
if (!empty($blogmainname)) {
echo "" . $blogmainname; // If you see a (square) here : This is not a bug, but a missing sign in your font
}
} else { // On subblog: set also a link to the subblog
?>
</a>
<a href="<?php echo "./?blog=$getblog" ?>">
<?php
echo BlogListGenerator::getName("./blogs/$getblog.md"); // get the blog name
}
?>
</a>
</span>
</nobr>
<div class="fadeout"></div> <!-- if the blog name is to long (especially on mobile devices), a fadeout fades the test out at the end of the header-->
</div>
<?php
// Blog Intro text
if (file_exists("blogs/$blog.md") && $getarticle == "" && $blogintro == "yes" && $gettag == "") { // only shown if not in article or tag view and if the blogintro is enabled
$file = file_get_contents("blogs/$blog.md"); // get content of the blog file
$file = $file . "\n"; // add a line break. necessary if the editor didn't make one while saving
$file = substr($file, strpos($file, "\n")); // basically removing the first line, which contains the blog title
if ($file != "" && $file != "\n" && $file != " ") { // if the file is now neither empty nor only has a linebreak nor exists of an space
?>
<section class="card">
<div class="articletext">
<?php // generate the html text from the markdown file
$intro = Parsedown::instance()
->setBreaksEnabled(true) // with linebreaks
->text($file);
echo $intro; // PRINTS THE SH****
?>
</div>
</section>
<?php
}
}
$articlesdir = "./articles/$blog/"; // generate a variable with the articles directory
// TAG VIEW
if (isset($gettag)) { // if there's a tag -> tag view
$articles = scandir($articlesdir, 1); // save the content of the directory in the articles variable
foreach ($articles as $article) { // iterate through all articles
$tags = ArticleGenerator::getTags($articlesdir, $article); // get the article tags
if (in_array($gettag, $tags)) { // if the article has the requested tag
if (strlen($article) >= 3 && substr($article, -3) == ".md") { // check if the file is a article file
ArticleGenerator::newArticle($articlesdir, $article, $getblog); // generate the article
}
}
}
} elseif ($getarticle == "") { // NORMAL VIEW if there's no article request -> normal view
$articles = scandir($articlesdir, 1); // save the content of the directory in the articles variable
foreach ($articles as $article) { // iterate through this variable
if (strlen($article) >= 3 && substr($article, -3) == ".md") { // check if the file is a article file
ArticleGenerator::newArticle($articlesdir, $article, $getblog); // generate the article
}
}
} elseif (isset($getarticle)) { // ARTICLE VIEW
ArticleGenerator::newArticle($articlesdir, $getarticle . ".md", $getblog); // generate the requested article
include './res/php/Disqus.php'; // include disques
} else { // SOMETHING STRANGE: THIS SHOULDN'T HAPPEN
echo "Some error occured, please go back.";
}
?>
<div class="footer">
<?php echo $blogfooter; //print the blog footer?>
</div>
<?php
// show the fab if it's enabled
if ($sharefab == "yes") {
?>
<div class="fabmenu">
<div class="subfab"><!--Email subfab-->
<a href='mailto:?subject=
<?php echo $blogtitle; ?>&body=<?php echo $BLOGLANG['Check out this blog']; ?>: <?php echo $url; ?>'
target="blank">
<img src="./res/img/email.svg" class="subfab-img" />
</a>
</div>
<div class="subfab"><!--twitter subfav-->
<a href='https://twitter.com/intent/tweet?text=<?php echo $BLOGLANG['Check out']; ?>: <?php echo $url; ?>&original_referer=' target="blank">
<img src="./res/img/twitter.svg" class="subfab-img" />
</a>
</div>
<div class="subfab"><!--gplus subfab-->
<a href='https://plus.google.com/share?url=<?php echo $url; ?>&hl=en-US' target="blank">
<img src="./res/img/gplus.svg" class="subfab-img" />
</a>
</div>
<div class="subfab"><!--facebook subfab-->
<a href='https://www.facebook.com/sharer/sharer.php?u=<?php echo $url; ?>&t=<?php echo "echo $blogtitle" ?>' target="blank">
<img src="./res/img/facebook.svg" class="subfab-img" />
</a>
</div>
<div class="fab"><!-- share fab-->
<img src="./res/img/share.svg" class="fab-img" alt="Share" />
</div>
</div>
<?php
}
?>
</div>
<script src="./res/js/jquery-2.1.4.min.js"></script> <!-- include jquery-->
<script src="./res/js/app.js"></script> <!--include main javascript-->
<?php
require './res/php/GoogleAnalytics.php'; // include google analytics
?>
</body>
</html>

View File

@ -1,9 +0,0 @@
<?php
// Rangitaki Project
// LANGUAGE: GERMAN
$BLOGLANG = [
"Blogs on" => "Blogs auf",
"Check out this blog" => "Schau dir diesen Blog an:",
"Check out" => "Schau dir das an:"
];

View File

@ -1,9 +0,0 @@
<?php
// Rangitaki Project
// LANGUAGE: ENGLISH
$BLOGLANG = [
"Blogs on" => "Blogs on",
"Check out this blog" => "Check out this blog:",
"Check out" => "Check out:",
];

25
localization.md Normal file
View File

@ -0,0 +1,25 @@
# Localization
##### For Rangitaki version 1.0.0
Translating Rangitaki in another language is quite simple, because most of the stuff is set in the config.php. There are just a few strings that are left to translate. Three to be exact.
A language file looks like this:
```
<?php
// Rangitaki Project
// LANGUAGE: ENGLISH
$BLOGLANG = [
"Blogs on" => "Blogs on",
"Check out this blog" => "Check out this blog:",
"Check out" => "Check out:",
];
```
The only thing that need to be translated are the words between the marks on the right side of the arrows. NEVER change anyting else.
Save the translated file as *ln.php*, where ln is your language in short form, just two letters (e.g. en for english, de for german).
Then commit your changes to GitHub (see the contributing documentation <!--TODO link-->) or send it to marcelmichaelkapfer@yahoo.co.nz.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

234
quick.md Normal file
View File

@ -0,0 +1,234 @@
# Quick start Guide
##### For Rangitaki version 1.0
This guide shows you how to setup Rangitaki and it teaches you the basic use. After this guide you're ready to use Rangitaki as your blogging engine. Since this is a quick starting guide I won't explain every single option. Please read the full documentation <!--TODO Link to full documentation--> for more information.
To fully customize your Rangitaki installation read also the localization guide and the theming guide. <!--TODO links to both -->
For more professional blogging (like online blog post upload) read the RCC documentation. <!--TODO link -->
## Content
1. Requirements
2. Download
1. Download
2. Extract
3. Setup
1. Configuration
2. Files and Directories
4. Writing blog posts
1. Tags
2. Markdown
5. Publishing
## 1. Requirements
#### Software
Rangitaki needs just a **Web Server** like the Apache HTTP Server or nginx and a **PHP** installation. You *don't need a MySQL (or any other database) installation*.
To test if you're server has a PHP installation, create a file name `info.php` and copy the follwing code into it, upload the file to your web directory and access it through a browser.
```
<?php phpinfo(); ?>
```
If you're seeing an white, empty page you have no PHP installation. Otherwise you have one and you can get many information about this from this page.
Furthermore you need a good text editor for editing the configuration files a nd writing blog posts.. Either on your private computer, if you configure your Rangitaki installation at home, or on your server.
#### Skills
You must know how to upload files and directories to your server and how to use a text editor. That's all.
## 2. Download
### 1. Download
Download the current version of Rangitaki either from [here](http://marcel-kapfer.de/rangitaki) <!--TODO add link --> or from the [GitHub releases page](https://github.com/mmk2410/Rangitaki/releases). I recommend you to download a release version and not to clone the project from GitHub (at least not for daily use), because of possible security and instability.
### 2. Extract
#### Linux
If you got a `.tar.gz` file:
Fire up a terminal and run this:
```
tar -xvzf rangitaki.tar.gz
```
If you got a `.zip` file:
Fire up a terminal and run this:
```
unzip rangitaki.zip
```
#### Mac
Just double click the archive.
#### Windows
If you got a `.zip` file:
Just right click that archive and click extract.
If you got a `.tar.gz` file:
Download and install [7-zip](http://www.7-zip.org/).
Right click the archive. 7-Zip > Extract here
## 3. Setup
The setup of Rangitaki is as easy as downloading it.
Again, I will only explain a few options here. For more, read the full documentation <!--TODO link to full documentation-->
### 1. Configuration
There one configuration file for Rangitaki. It is located at the root of the extracted Rangitaki folder and has the name `config.php`. Open it with a text editor of your choice.
The different options in the file follow this structure:
```
// Comment describing the following option
$option = 'some text or yes or no. mind the marks and the semicolon';
```
Don't delete the marks or the semicolon. Otherwise your Rangitaki installation will not work! Also don't delete the `<?php` at the beginning of the file.
The important and necessary options for your blog are:
#### $blogtitle
Set here the title of your blog. This name will appear in the blog header and is also the page title.
#### $blogauthor
Set here your name - or the name of the person who writes the blog. This setting is mainly used if the blog is shared in social networks. The author of blog posts can be set directly in the blog post.
#### $blogdescription
Write here a short blog description. This description will appear if the blog is shared in a social network.
#### $bloghome
Set 'yes' if you have a main page and the blog is just a subpage. If the blog is the main page, then set 'no'.
#### $bloghomeurl
Only necessary if $bloghome is set to 'yes'.
Set here the path to your main page. Either relative (e.g. `../`) or absolute (e.g. `/www/`) or as a link (e.g `http://marcel-kapfer.de/rangitaki`).
#### $blogintro
If set to 'yes', the text of the blog markdown file is shown at the beginning of the blog. If you don't want this, then change it to 'no'.
#### $blogfooter
Set here your own personal footer text. It is shown at the bottom of every page.
#### $language
Set here the language of your blog (e.g. 'en', 'de', ...). If your language is available, it will be used, otherwise English is used. You can also translate it Rangitaki into your language, which is quite simple and quickly done. Read the localization guide for more <!--TODO link to localization guide-->.
#### $favicon
Set here the URL to your favicon. Not a relative path or a absolute one, but the URL (e.g. 'http://example.com/favicon.png').
### 2. Files and Directories
Here a few words about some files and directories in Rangitaki. All directories and files are covered in the full documentation <!--TODO link to full documentation -->
#### /articles
This is the directory where the blog post for the different blogs are stored. There are already a few example directories, which you can delete if you don't need them.
#### /articles/blog (e.g. /articles/main)
The directory where the articles for that blog are stored. You have at least one directory name 'main' where the markdown files for your main blog are stored.
There are already a few example blog posts. You can look at them to learn how Rangitaki blog posts are written or you can simply delete them.
#### /blogs
The files for your different blogs are stored here. You can have a look at them to learn how to create a new subblog or simply delete them, but **DON'T DELETE THE main.md!**
#### /media
This is a directory where you can store your used assets. You don't have to store them but it is recommended since it keeps the whole system organized.
**When you are including a image, video, whatever in your Markdown blog post you have to use a relative path based from the Rangitaki blog main directory, not from the directory of your Markdown file**
You can delete the example file.
#### config.php
This is the configuration file. I already explained that one.
## 4. Writing blog posts
Writing blog posts in Rangitaki is quite simple. The text is written in markdown and important information about blog posts are written with special tags.
### 1. Tags
In Rangitaki 1.0 there are four tags you can use. You don't have to use any tags.
Tags have to following structure:
```
%TAGNAME: Some text
```
#### %TITLE
Set here the title of your blog post.
#### %DATE
Set here the date of your blog post. You don't have to care about some format. Just set it like you want
#### %AUTHOR
Set here the name of the author of the blog post.
#### %TAGS
Set here some tags, that descripe the blog post.
There separated through a ', ' (mind the space).
### 2. Markdown
Writing the text itself is also very simple. The blogging engine supports Markdown and also GitHub flavored markdown <!--TODO links to both of them-->. But you can also just wite a blogpost and don't care about formatting.
## 5. Publishing
You are now done with the setup of the blog and you also wrote a first blog post. If you did this stuff directly on your server, visit this page with a web broswer and you see your Rangitaki blog.
If you did this on your private machine, then upload the content of the Rangitaki directory to your server.
You're done now! You're Rangitaki blog is running.
For more information, read the full documentation, the FAQ and the other documentations.
<!--TODO links-->

23
rcc.md Normal file
View File

@ -0,0 +1,23 @@
# RCC Documentation
##### For Rangitaki version 1.0.0
## Content
1. Initializing
2. Usage
## 1 Initializing
The RCC is not enabled by default, because you have to set a password first.
Open the file at `/rcc/password.php` and change the password variable to your password. Storing your password in this PHP file secure, because your PHP web server renders the file if someone accesses it and since the password is just saved in a variable but not printed, no one can see it through the web.
After you set the password open your `/config.php` and enable the RCC by setting `$rcc = "yes";`
Access now the website at *http://yourdomain.tl/blog/rcc* and see if it works.
## 2 Usage
In Rangitaki 1.0.0 the RCC has only one functionality: Uploading posts files (*.md*). Select the blog first and the click on "Browse", select your file and click on upload. You see a message, if the upload was possible.

View File

@ -1,109 +0,0 @@
<!DOCTYPE html>
<!--
The MIT License
Copyright 2015 mmk2410.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<html>
<head>
<meta charset="UTF-8">
<title>Rangitaki Control Center</title>
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
<link rel="stylesheet" href="./res/rcc.css" />
</head>
<body>
<div class="header">
<a href="./" class="title">Rangitaki Control Center</a>
</div>
<div class="main">
<?php
require '../config.php';
if ($rcc == "yes") {
include 'password.php';
session_start();
if(isset($_POST['passwd'])) {
$passwd = $_POST['passwd'];
$_SESSION['passwd'] = $_POST['passwd'];
} else if(isset($_SESSION['passwd'])) {
$passwd = $_SESSION['passwd'];
}
if ($passwd == "") {
?>
<section class="card">
<div class="headline">Log In</div>
<form action="./" method="post">
<p>Password:<br><br><input type="password" class="itextfield" name="passwd"/></p>
<input type="Submit" class="button" value="Log in"/>
</form>
</section>
<?php
} else {
if ($passwd == $password) {
$_SESSION['login'] = true;
?>
<section class="card">
<div class="headline">File Upload</div>
<form enctype="multipart/form-data" action="uploaded/" method="POST">
<select name="blog">
<?php
$blogs = scandir("../blogs/");
foreach ($blogs as $blog) {
if (strlen($blog) >= 3 && substr($blog, -3) == ".md") {
$blog = substr($blog, 0, -3);
echo "<option value='$blog'>$blog</option>";
}
}
?>
</select>
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<input id="" name="userfile" type="file" value="Choose a file" />
<br>
<br>
<input id="button" type="submit" value="Upload" class="button"/>
</form>
</section>
<?php
} else {
?>
<section class="card">
<div class="headline">Wrong Password</div>
<p>
Please go back and try again.
</p>
<a href="./" class="button">GO BACK</a>
</section>
<?php
}
}
} else {
?>
<section class="card">
<div class="headline">Rangitaki Control Center</div>
<p>
The Rangitaki Control Center is disabled. You can enable it in your config file. But please read first the documentation.
</p>
</section>
<?php
}
?>
</div>
</body>
</html>

View File

@ -1,3 +0,0 @@
<?php
// Set here your RCC password
$password = "setyourpassword";

View File

@ -1,213 +0,0 @@
/*
The MIT License
Copyright 2015 mmk2410.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/*
Created on : Jun 14, 2015, 6:13:38 PM
Author : mmk2410
*/
/* BODY */
body{
font-family: "Roboto", sans-serif;
background: #f6f6f6;
color: #383838;
margin-top: 94px;
}
.main{
height: 100%;
width: 100%;
margin-left: 0px;
}
/* HEADER */
.header{
background-color: #ff4415;
position: fixed;
top: 0px;
right: 0px;
left: 0px;
width: 100%;
height: 64px;
box-shadow: 2px 0px 2px 2px rgba(62, 62, 62, 0.45);
}
.title{
color: #fff;
font-size: 23px;
text-decoration: none;
line-height: 64px;
vertical-align: middle;
left: 75px;
position: absolute;
}
/* MAIN */
.card{
margin-right: auto;
margin-left: auto;
width: 75%;
background: #fff;
border-radius: 2px;
padding: 24px;
box-shadow: 0px 1px 1.5px 1.5px rgba(62, 62, 62, 0.3);
margin-bottom: 40px;
max-width: 1160px;
}
.headline{
font-size: 24px;
color: #383838!important;
text-decoration: none;
display: block;
padding-bottom: 8px;
border-bottom: none!important;
}
.card > p{
font-size: 14px;
line-height: 24px;
}
/* FOOTER */
.footer{
font-size: 12px;
text-align: center;
}
.footer a{
color: #383838;
text-decoration: none;
border-bottom: 1px solid transparent;
border-bottom-color: transparent;
transition: border-bottom-color 150ms ease-in-out 100ms;
}
.footer a:hover{
border-bottom-color: #383838;
}
/* BUTTON */
.button {
text-decoration: none;
color: #fff;
background-color: #ff4415;
line-height: 36px;
min-width: 64px;
text-align: center;
height: 36px;
padding: 8px;
border-width: 1px;
border-style: solid;
border-color: #ff4415;
box-shadow: 0.4px 1px 1.5px 1px #aaa;
-moz-box-shadow: 0.4px 1px 1.5px 1px #aaa;
-webkit-box-shadow: 0.4px 1px 1.5px 1px #aaa;
border-radius: 2px;
margin-top: 4px;
margin-bottom: 5px;
letter-spacing: 0.4px;
font-weight: 700;
font-size: 14px;
transition-property: box-shadow;
transition-delay: 50ms;
transition-duration: 125ms;
transition-timing-function: ease;
-moz-transition-property: box-shadow;
-moz-transition-delay: 50ms;
-moz-transition-duration: 125ms;
-moz-transition-timing-function: ease;
-webkit-transition-property: box-shadow;
-webkit-transition-delay: 50ms;
-webkit-transition-duration: 125ms;
-webkit-transition-timing-function: ease;
cursor: pointer;
}
.button:hover, .button:hover {
box-shadow: 0.5px 1.8px 2.1px 1.4px #aaa;
-moz-box-shadow: 0.5px 1.8px 2.1px 1.4px #aaa;
-webkit-box-shadow: 0.5px 1.8px 2.1px 1.4px #aaa; }
input.button{
padding: 0px 8px;
}
/* INPUT FIELD */
.itextfield{
border-color: transparent;
border-width: 1px;
font-size: 16px;
line-height: 22px;
border-bottom-color: #aaa;
transition-property: border-bottom-color;
transition-delay: 50ms;
transition-duration: 125ms;
transition-timing-function: ease;
-moz-transition-property: border-bottom-color;
-moz-transition-delay: 50ms;
-moz-transition-duration: 125ms;
-moz-transition-timing-function: ease;
-webkit-transition-property: border-bottom-color;
-webkit-transition-delay: 50ms;
-webkit-transition-duration: 125ms;
-webkit-transition-timing-function: ease;
}
.itextfield:focus{
border-bottom-color: #ff4415;
border-width: 2px;
outline: none;
}
/* FORM */
form{
margin-top: 20px;
}
@media screen and (min-width: 1440px) {
.card{
width: 1160px;
}
}
@media screen and (max-width: 720px){
.card{
width: 82%;
}
.title{
left: 25px;
}
}

View File

@ -1,60 +0,0 @@
<!DOCTYPE html>
<!--
The MIT License
Copyright 2015 mmk2410.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<html>
<head>
<meta charset="UTF-8">
<title>Rangitaki Control Center</title>
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
<link rel="stylesheet" href="../res/rcc.css" />
</head>
<body>
<div class="header">
<a href="../" class="title">Rangitaki Control Center</a>
</div>
<div class="main">
<section class="card">
<div class="headline">File Upload</div>
<?php
session_start();
if($_SESSION['login']) {
if ($_FILES['userfile']['name'] == "") {
echo "<p>You have to choose a file!</p>";
} else {
$blog = filter_input(INPUT_POST, "blog");
$uploaddir = "../..//articles/$blog/";
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "<p>The post was successfully uploaded and is now published.</p>";
} else {
echo "<p>During the uploading process an error occured! <br> Error Code:" . ($_FILES['userfile']['error'] . "</p>");
}
}
}
?>
</section>
</div>
</body>
</html>

View File

@ -1,219 +0,0 @@
/**
* GitHub Gist Theme
* Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro
*/
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
-webkit-text-size-adjust: none;
-ms-text-size-adjust: none;
}
.hljs-comment,
.bash .hljs-shebang,
.java .hljs-javadoc,
.javascript .hljs-javadoc,
.rust .hljs-preprocessor {
color: #969896;
}
.hljs-string,
.apache .hljs-sqbracket,
.coffeescript .hljs-subst,
.coffeescript .hljs-regexp,
.cpp .hljs-preprocessor,
.c .hljs-preprocessor,
.javascript .hljs-regexp,
.json .hljs-attribute,
.makefile .hljs-variable,
.markdown .hljs-value,
.markdown .hljs-link_label,
.markdown .hljs-strong,
.markdown .hljs-emphasis,
.markdown .hljs-blockquote,
.nginx .hljs-regexp,
.nginx .hljs-number,
.objectivec .hljs-preprocessor .hljs-title,
.perl .hljs-regexp,
.php .hljs-regexp,
.xml .hljs-value,
.less .hljs-built_in,
.scss .hljs-built_in {
color: #df5000;
}
.hljs-keyword,
.css .hljs-at_rule,
.css .hljs-important,
.http .hljs-request,
.ini .hljs-setting,
.haskell .hljs-type,
.java .hljs-javadoctag,
.javascript .hljs-tag,
.javascript .hljs-javadoctag,
.nginx .hljs-title,
.objectivec .hljs-preprocessor,
.php .hljs-phpdoc,
.sql .hljs-built_in,
.less .hljs-tag,
.less .hljs-at_rule,
.scss .hljs-tag,
.scss .hljs-at_rule,
.scss .hljs-important,
.stylus .hljs-at_rule,
.go .hljs-typename,
.swift .hljs-preprocessor {
color: #a71d5d;
}
.apache .hljs-common,
.apache .hljs-cbracket,
.apache .hljs-keyword,
.bash .hljs-literal,
.bash .hljs-built_in,
.coffeescript .hljs-literal,
.coffeescript .hljs-built_in,
.coffeescript .hljs-number,
.cpp .hljs-number,
.cpp .hljs-built_in,
.c .hljs-number,
.c .hljs-built_in,
.cs .hljs-number,
.cs .hljs-built_in,
.css .hljs-attribute,
.css .hljs-hexcolor,
.css .hljs-number,
.css .hljs-function,
.haskell .hljs-number,
.http .hljs-literal,
.http .hljs-attribute,
.java .hljs-number,
.javascript .hljs-built_in,
.javascript .hljs-literal,
.javascript .hljs-number,
.json .hljs-number,
.makefile .hljs-keyword,
.markdown .hljs-link_reference,
.nginx .hljs-built_in,
.objectivec .hljs-literal,
.objectivec .hljs-number,
.objectivec .hljs-built_in,
.php .hljs-literal,
.php .hljs-number,
.python .hljs-number,
.ruby .hljs-prompt,
.ruby .hljs-constant,
.ruby .hljs-number,
.ruby .hljs-subst .hljs-keyword,
.ruby .hljs-symbol,
.rust .hljs-number,
.sql .hljs-number,
.puppet .hljs-function,
.less .hljs-number,
.less .hljs-hexcolor,
.less .hljs-function,
.less .hljs-attribute,
.scss .hljs-preprocessor,
.scss .hljs-number,
.scss .hljs-hexcolor,
.scss .hljs-function,
.scss .hljs-attribute,
.stylus .hljs-number,
.stylus .hljs-hexcolor,
.stylus .hljs-attribute,
.stylus .hljs-params,
.go .hljs-built_in,
.go .hljs-constant,
.swift .hljs-built_in,
.swift .hljs-number {
color: #0086b3;
}
.apache .hljs-tag,
.cs .hljs-xmlDocTag,
.css .hljs-tag,
.xml .hljs-title,
.stylus .hljs-tag {
color: #63a35c;
}
.bash .hljs-variable,
.cs .hljs-preprocessor,
.cs .hljs-preprocessor .hljs-keyword,
.css .hljs-attr_selector,
.css .hljs-value,
.ini .hljs-value,
.ini .hljs-keyword,
.javascript .hljs-tag .hljs-title,
.makefile .hljs-constant,
.nginx .hljs-variable,
.xml .hljs-tag,
.scss .hljs-variable {
color: #333333;
}
.bash .hljs-title,
.coffeescript .hljs-title,
.cpp .hljs-title,
.c .hljs-title,
.cs .hljs-title,
.css .hljs-id,
.css .hljs-class,
.css .hljs-pseudo,
.ini .hljs-title,
.haskell .hljs-title,
.haskell .hljs-pragma,
.java .hljs-title,
.javascript .hljs-title,
.makefile .hljs-title,
.objectivec .hljs-title,
.perl .hljs-sub,
.php .hljs-title,
.python .hljs-decorator,
.python .hljs-title,
.ruby .hljs-parent,
.ruby .hljs-title,
.rust .hljs-title,
.xml .hljs-attribute,
.puppet .hljs-title,
.less .hljs-id,
.less .hljs-pseudo,
.less .hljs-class,
.scss .hljs-id,
.scss .hljs-pseudo,
.scss .hljs-class,
.stylus .hljs-class,
.stylus .hljs-id,
.stylus .hljs-pseudo,
.stylus .hljs-title,
.swift .hljs-title,
.diff .hljs-chunk {
color: #795da3;
}
.coffeescript .hljs-reserved,
.coffeescript .hljs-attribute {
color: #1d3e81;
}
.diff .hljs-chunk {
font-weight: bold;
}
.diff .hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.diff .hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.markdown .hljs-link_url {
text-decoration: underline;
}

View File

@ -1,57 +0,0 @@
/*
Rangitaki Project
The MIT License
Copyright 2015 mmk2410.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/*
Created on : Jun 18, 2015, 7:07:45 PM
Author : mmk2410
*/
/*
A stylesheet for overriding the default styles if the navigation drawer is disabled
*/
.nav{ /* hide the navigation drawer */
display: none;
}
.nav-img{ /* hide the hamburger icon */
display: none;
}
@media screen and (min-width: 1440px) { /* large devices */
.header { /* full width */
left: 0;
}
.main{ /* full width */
margin-left: 0;
width: 100%;
}
}
@media screen and (max-width: 720px){ /* small devices */
.title{ /* move the title more to the left */
left: 25px;
}
}

View File

@ -1,256 +0,0 @@
/*
Rangitaki Project
The MIT License
Copyright 2015 mmk2410.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/*
Created on : Jun 14, 2015, 6:13:38 PM
Author : mmk2410
*/
/* BODY */
body{
margin-top: 94px; /* Set enough space for the header */
}
.main{ /* main content */
height: 100%;
margin-left: 0;
}
.overlay { /* overlay: used for a darker background when the navigation drawer is open */
opacity: 0;
position: fixed;
top: 0;
left: 0;
background-color: black;
width: 100%;
z-index: 30;
height: 100%;
display: none; /* because the thing is hidden at the beginning and shown with js */
}
/* HEADER */
.header{
top: 0;
right: 0;
left: 0;
width: 100%;
height: 64px;
position: absolute;
}
.title{ /* title in the header */
color: #fff;
font-size: 23px;
text-decoration: none;
line-height: 64px;
vertical-align: middle;
left: 75px;
}
.title > a{ /* and a a styling */
text-decoration: none;
color: #fff;
}
.fadeout{ /* a fadeout if the title is to long */
position: absolute;
height: 64px;
top: 0;
right: 0;
width: 40px;
}
.nav-img{ /* the hamburger icon */
height: 26px;
padding: 19px;
cursor: pointer;
}
/* NAV DRAWER */
.nav{ /* the main object */
width: 300px;
position: fixed;
height: 100%;
top: 0;
left: -300px;
padding-top: 64px;
z-index: 40;
}
.nav-item, .nav-item-static{ /* a nav-item */
text-decoration: none;
text-indent: 0;
display: inline-block;
height: 48px;
vertical-align: middle;
width: 284px;
line-height: 48px;
padding-left: 16px;
transition: background-color 125ms ease-in-out 0ms;
}
.nav-item{ /* additional setting for clickable nav items */
cursor: pointer;
}
.divider{ /* a simple divider with all options. better than <hr> */
width: 100%;
}
/* MAIN */
.card{ /* just a card */
margin-right: auto;
margin-left: auto;
width: 75%;
padding: 24px;
margin-bottom: 40px;
max-width: 1160px;
}
.card a{ /* and another a styling */
-moz-hyphens: auto;
-epub-hyphens: auto;
-ms-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;
word-wrap: break-word; /* until here: break long links */
}
.card a:hover{ /* hovered card links; just here to help you create a own theme*/
}
.headline{ /* title in a card */
display: block;
padding-bottom: 8px;
}
.card img{ /* image in a card*/
max-width: 100%; /* regulate width */
max-height: 400px; /* regulate height */
display: block; /* centered */
margin-left: auto; /* centerd */
margin-right: auto; /* centred */
}
.date{ /* possibility to style the date */
}
.articletext{ /* posibitlity to style the text */
}
.author{ /* styling for the author */
display: block;
}
.tag{ /* possibility to style the text */
}
/* FAB */
.fabmenu{ /* surrounds the complete fab menu */
position: fixed;
bottom: 20px;
right: 20px;
}
.fab{ /* the main fab (always visible if enabled) */
height: 60px;
width: 60px;
border-radius: 30px;
cursor: pointer;
}
.fab-img{ /* fab image for the main fab */
width: 28px;
padding: 15px;
}
.subfab{ /* a smaller fab in the fab menu */
height: 45px;
width: 45px;
border-radius: 30px;
margin-right: auto;
margin-left: auto;
margin-bottom: 25px;
display: none;
}
.subfab-img{ /* and the image for it */
width: 22px;
padding: 12px;
}
/* FOOTER */
.footer{ /* possibility for styling the footer */
}
.footer a{ /* styling of the footer a */
transition: border-bottom-color 150ms ease-in-out 100ms;
}
.footer a:hover{ /* and the hovered one*/
border-bottom-color: #383838;
}
@media screen and (min-width: 1440px) { /* make it responsive: large devices */
.nav{ /* always show navigation bar */
left: 0;
}
.nav-img{ /* always hide navigation bar icon*/
display: none;
}
.header{ /* move header to the right */
left: 300px;
}
.main{ /* move main content to the right and limit its width */
margin-left: 300px;
width: calc(100% - 300px);
}
}
@media screen and (max-width: 720px){ /* make it responsive: small devices */
.card{ /* wider cards */
width: 82%;
}
}

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
fill="#000000"
height="48"
viewBox="0 0 24 24"
width="48"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="close.svg">
<metadata
id="metadata12">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs10" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1376"
id="namedview8"
showgrid="false"
inkscape:zoom="13.906433"
inkscape:cx="0.24436123"
inkscape:cy="32.909597"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
id="path4"
style="fill:#ffffff;fill-opacity:1" />
<path
d="M0 0h24v24H0z"
fill="none"
id="path6" />
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
fill="#000000"
height="48"
viewBox="0 0 24 24"
width="48"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="email.svg">
<metadata
id="metadata12">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs10" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1376"
id="namedview8"
showgrid="false"
inkscape:zoom="19.666667"
inkscape:cx="20.487457"
inkscape:cy="18.74108"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"
id="path4"
style="fill:#7a7a7a;fill-opacity:1" />
<path
d="M0 0h24v24H0z"
fill="none"
id="path6" />
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,188 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="800"
height="800"
viewBox="0 0 800.00001 800.00001"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
inkscape:export-filename="/home/mmk/design/icons/web/facebook.png"
inkscape:export-xdpi="48.037498"
inkscape:export-ydpi="48.037498"
sodipodi:docname="facebook.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="308.50464"
inkscape:cy="496.10493"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="2560"
inkscape:window-height="1376"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-252.36216)">
<image
y="255.88876"
x="161.10423"
id="image4179"
xlink:href="data:image/png;base64,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
w7D46hMn71wwA4LIap0Qr7ECw6Bt229YAUFk1ZRSrrMCw2BxcdHDpQgiqxpEV5kyDI4/fmLbU2ZA
EFm9O0bOa63AEHjUBAgiq+0nTMBqa9t2rxUQRFbbtSZgCIL4mBUQRFZVKWWNFVj1v6By9pApgsjq
SikJIqvt+J5jm727BYLIquuagFV2wAQIIsPAE/NZVaUUT7dAEBkKHROwyp42AYKIEyJEzJkAQWQY
NCZgNbVt+20rIIhA9T1cXFw8YgYEEahaKeUFb/mEIALVSykdtQKCyLDwxHxW03MmQBAZFhMmYLWU
UuatgCACRAgigghQSjllBQQRIOIFEyCIQPVSSk6ICCJA27bnrYAgAk6IKZ21AoIIVK+UIogIIkBK
6bQVEEQAEESAiIg4YwIEEQAEESDi/Pnz56yAIALV2//dnd4LEUEEAEEEAEEEAEEEAEEEAEEEAEEE
AEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEE
AEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEEAEEE
AEEEAEEEAEEEAEE0AQAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAI
IgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAI
IgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAM
t87u6YPFDMAw8fcSK6mU8tlvPnv7g06IANQexCN/3a8LIgBVSSnNCSIA1ev3+4IIQPXapmkOCyIA
tTu297mtLwkiAFV7tQtqBBGA2ggiAETE04IIQPVKKYcFEQAi5gQRACIOCSIAtVuYn58/LogAVH86
nOu/ayCIANTu8MX+pyACUIW2bY8IIgA4IQJARFzkKReCCEA12rY9JIgAVG9xcdEJEYDqnXlyfvu8
IAJQu8Ov9QmCCEANviOIAFSvlPKMIAIgiKUcEUQAqpdzfloQAXBCvMgbAwsiANVIKR0SRABqd+KR
o7edE0QAanf4Uj5JEAEYa6/1tk+CCEAVUkpzgghA9S7lOYiCCMDYa9vWCREABBEAIhb7/b6HTAGo
3rH93925IIgA1O7IpX6iIAIwtkopc5f6uYIIwDgTRAC41CflCyIAY+1Sn5QviACMtUt9yoUgAjDO
fvDEyTuPCiIAtTt8OZ8siACMpVKKIALA5VxQI4gAjDNBBICI+LYgAoATIgBERMTTgghA7b6759jm
04IIQO0OX+4XCCIA42jucr9AEAEYO5f7HERBBMAJURABGFcppUOCCED1BoPBdwQRgOq1bfv05X6N
IAIwbo4/9vwdLwoiAFV7PVeYCiIAgiiIAIyjlNLc6/k6QQRg3E6IgggAHjIFgIhYXFx0QgSgegud
TscJEYDqPfvo8S0DQQSgds+83i8URADGxuu9oEYQARg3c6/3CwURACdEQQRgnLRtK4gA0Ol0/lIQ
Aajd+UeO3jYviADUbu5KvlgQARgXR67kiwURgLFQSjksiAAI4ut82ydBBGDcHBJEAKrXtu1hQQSg
eimlpwURgNqdevT4lrOCCEDVrvSCGkEEYCyklA5d6W0IIgDjcEI8LIgACOIVvO2TIAIwNlJKfoYI
AP1+XxABqF7bNM1hQQSgdsf2Prf1JUEEoGrLcUGNIAIwDgQRACLi6eW4EUEEYKQtx5PyBRGAcQii
h0wB4Erf9kkQARgHC/Pz88cFEYDaHZrrv2sgiADU7vBy3ZAgAjCy2rY9sly3JYgAOCEKIgAjbm65
bkgQARhZbdseEkQAqre4uOiECED1vvfk/PZ5QQSgdoeW88YEEYBR9R1BBKB6pZRnBBEAQVymd7kQ
RABG3dxy3pggAjCSUkqCCAApJVeZAlC9E48cve2cIAJQu8PLfYOCCMAoOrTcNyiIAIycUooTIgAs
93MQBRGAkdS27dxy36YgAiCIggjACFr0kCkARBx74uSdC4IIQO2OrMSNCiIAI6WUMrcStyuIAIwa
QQSAlbigRhABGDnL/bZPggjASOr3+06IAFTvB0+cvPOoIAJQu8MrdcOCCIAgCiIAo6Rt2yMrdduC
CMAoEUQAiIhvCyIAOCECQEREPC2IANTuu3uObT4tiADU7vBK3rggAjAq5lbyxgURgJGwUu9yIYgA
jFoQDwsiANXLOT8jiABUbzAYfEcQAahe27ZPr+TtCyIAo+D4Y8/f8aIgAlC7Iyv9GwgiAENvJd/2
SRABGBkppbmV/j0EEYChV0oRRABY6VepEUQARsLi4qITIgDVW+h0Ok6IAFTv2UePbxkIIgC1e+Zq
/CadR47elmzNj9o9fbBYgdXi7yVWgxMiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgi
AAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgi
AAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgi
AAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgi
AAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiAAgiACCIACCI
ACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCI
ACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCI
ACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCI
ACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCIACCI
ACCIACCIACCIACCIACCIACCIACCIACCIAIAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAg
AoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAg
AoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAg
AoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAg
AoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAoAgAgCC
CACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACC
CACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACC
CACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACC
CACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACCCACC
CACCCACCCACCCACCCACCCACCCACCCACCCACCCAAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAI
IgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAI
IgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAIIgAI
IgAIIgAIIgAIIgAIIgAMs/8PO8YfZOsRrGAAAAAASUVORK5CYII=
"
preserveAspectRatio="none"
height="800"
width="416.11047" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1,98 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="60"
height="60"
viewBox="0 0 60.000001 60.000001"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="gplus.svg"
inkscape:export-filename="/home/mmk/design/icons/web/gplus.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.9195959"
inkscape:cx="-43.022177"
inkscape:cy="42.666945"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="2560"
inkscape:window-height="1376"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-992.36216)">
<image
y="993.36218"
x="0"
id="image4198"
xlink:href="data:image/png;base64,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
Lxkg33SYS0djAAAAAElFTkSuQmCC
"
preserveAspectRatio="none"
height="58"
width="60" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -1,59 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
fill="#FFFFFF"
height="48"
viewBox="0 0 24 24"
width="48"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="menu.svg">
<metadata
id="metadata12">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs10" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1376"
id="namedview8"
showgrid="false"
inkscape:zoom="4.9166667"
inkscape:cx="-0.91525424"
inkscape:cy="24"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
d="M0 0h24v24H0z"
fill="none"
id="path4" />
<path
d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"
id="path6" />
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,63 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
fill="#000000"
height="48"
viewBox="0 0 24 24"
width="48"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="share.svg"
inkscape:export-filename="/home/mmk/design/icons/web/share.png"
inkscape:export-xdpi="273.75"
inkscape:export-ydpi="273.75">
<metadata
id="metadata12">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs10" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1376"
id="namedview8"
showgrid="false"
inkscape:zoom="4.9166667"
inkscape:cx="-0.91525424"
inkscape:cy="24"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<path
d="M0 0h24v24H0z"
fill="none"
id="path4" />
<path
d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z"
id="path6"
style="fill:#ffffff;fill-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -1,457 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="800"
height="800"
viewBox="0 0 800.00001 800.00001"
id="svg4220"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="twitter.svg"
inkscape:export-filename="/home/mmk/design/icons/web/twitter.png"
inkscape:export-xdpi="48"
inkscape:export-ydpi="48">
<defs
id="defs4222" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.49497475"
inkscape:cx="-135.6234"
inkscape:cy="497.40538"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="2560"
inkscape:window-height="1376"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1" />
<metadata
id="metadata4225">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-252.36216)">
<image
y="327.099"
x="0"
id="image4776"
xlink:href="data:image/png;base64,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
"
preserveAspectRatio="none"
height="650.52631"
width="800" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 31 KiB

View File

@ -1,97 +0,0 @@
/*
* Rangitaki Project
*
* The MIT License
*
* Copyright 2015 mmk2410.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
var main = function () { // main function; called below
var fabActive = false; // fab hidden at begin
$('.fabmenu').click( // action on fab click
function () {
if (!(fabActive)) { // if fab is hidden
fabFadeIn(); // fade fab in
fabActive = true; // fab = active
} else { // if fab is shown
fabFadeOut(); // fade fab out
fabActive = false; // fab = hidden
}
}
);
var navOpen = false; // nav hidden at begin
$('.nav-img, .overlay').click( // action on hamburger click
function () {
if (!(navOpen)) { // if nav is hidden
openNav(); // open the nav drawer
navOpen = true; // nav = open
} else { // if nav is closed
closeNav(); // close the nav drawer
navOpen = false; // nav = closed
}
}
);
};
$(document).ready(main); // run if document is loaded
function goBack() { // go back function
history.go(-1);
}
function fabFadeIn() { // fade fab in
$('.subfab').fadeIn(125); // fade subfabs in
$('.fab-img').fadeOut( // fade fab share image out
60, function callback() {
$('.fab-img').attr("src", "./res/img/close.svg"); // change to fab close image
}
);
$('.fab-img').fadeIn(60); // fade fab close image in
}
function fabFadeOut() { // fade fab out
$('.subfab').fadeOut(125); // fade subfabs out
$('.fab-img').fadeOut( // fade fab close image out
60, function callback() {
$('.fab-img').attr("src", "./res/img/share.svg"); // change to fab share image
}
);
$('.fab-img').fadeIn(60); // fade fab share image in
}
function openNav() { // fade navigation drawer in
$('.nav').animate({"left": "0px"}, 125); // slide in
$('.overlay').show(); // set overlay to show ...
$('.overlay').animate({"opacity": "0.4"}, 125); // ... and fade to a darker transparent color
}
function closeNav() { // fade navigation drawer out
$('.nav').animate({"left": "-300px"}, 125); // slide out
$('.overlay').animate(
{"opacity": "0.0"}, 125, function () { // fade the overlay to complete transparency
$('.overlay').hide(); // hide it then
}
);
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,136 +0,0 @@
<?php
/*
* Rangitaki Project
*
* The MIT License
*
* Copyright 2015 mmk2410.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* The article generator class is a collection of functions for generating the article of markdown
*
* Since there is no initialize function, I recommend to use the short access syntay
*
* @category Articles
* @package RangitakiPHP
* @author mmk2410 <marcelmichaelkapfer@yahoo.co.nz>
* @license MIT License
* @link http://marcel-kapfer.de/rangitaki
*/
class ArticleGenerator
{
/**
* A function to create one new article
*
* @param string $directory The directory where the article files are stored
* @param string $articlefile The name of the article file
* @param string $blog The name of the current blog
*/
function newArticle($directory, $articlefile, $blog)
{
$article = file_get_contents($directory . $articlefile); // get the file
echo "<section class='card'>";
if (substr($article, 0, 6) == "%TITLE") { // if a title is in the first line
$title = substr($article, 8, strpos($article, "\n") - 8); // get this title
if ($blog == "") { // if one main blog
$link = "./?article=" . substr($articlefile, 0, -3); // create link to article
} else { // if not on main blog
$link = "./?blog=$blog&article=" . substr($articlefile, 0, -3); // create link to article at specific blog
}
echo "<a href='$link' class='headline'>$title</a>"; // print link (as a headline)
$article = substr($article, strpos($article, "\n") + 1); // remove title tag from $article (the variable, not the document)
}
if (substr($article, 0, 5) == "%DATE") { // if now a date is in the first line
$date = substr($article, 7, strpos($article, "\n") - 7); // get this date
echo "<span class='date'>$date</span>"; // print the date
$article = substr($article, strpos($article, "\n") + 1); // remove this line
}
if (substr($article, 0, 7) == "%AUTHOR") { // if a author is now in the first line
$author = substr($article, 9, strpos($article, "\n") - 9); // get the author
$article = substr($article, strpos($article, "\n") + 1); // remove the line
}
if (substr($article, 0, 5) == "%TAGS") { // if tags are now at the beginning
$tags = substr($article, 7, strpos($article, "\n") - 7); // get tags
$tags = explode(", ", $tags); // split them into an array
$article = substr($article, strpos($article, "\n") + 1); // remove this line
}
echo "<div class='articletext'>";
echo Parsedown::instance()
->setBreaksEnabled(true)
->text($article); // print now the article text as html
echo "</div>";
if (isset($author)) {
echo "<span class='author'>$author</span>"; // print the author
}
foreach ($tags as $tag) {
$blogurl = filter_input(INPUT_GET, "blog");
if ($blogurl == "") { // on main blog. no ?blog=
echo "<a class='tag' href='./?tag=$tag'>$tag</a> ";
} else { // not on main blog
echo "<a class='tag' href='./?blog=$blog&tag=$tag'>$tag</a> ";
}
}
echo "</section>" . "\n";
}
/**
* A function to get an articles tags as an array
*
* @param string $directory The directory where the article files are stored
* @param string $articlefile The name of the article file
* @return array
*/
function getTags($directory, $articlefile)
{
$article = file_get_contents($directory . $articlefile); // get the article
if (substr($article, 0, 6) == "%TITLE") { // detect and remove the title
$article = substr($article, strpos($article, "\n") + 1);
}
if (substr($article, 0, 5) == "%DATE") { // detect and remove the title
$article = substr($article, strpos($article, "\n") + 1);
}
if (substr($article, 0, 7) == "%AUTHOR") { // detect and remove the title
$article = substr($article, strpos($article, "\n") + 1);
}
if (substr($article, 0, 5) == "%TAGS") { // detect the tags
$tags = substr($article, 7, strpos($article, "\n") - 7); // get the tags
$tags = explode(", ", $tags); // split them into an array
}
return $tags; // remove that array
}
}

View File

@ -1,81 +0,0 @@
<?php
/*
* Rangitaki Project
*
* The MIT License
*
* Copyright 2015 mmk2410.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* The blog list generator class is a collection of functions for generating blog lists
* or getting informations about them
*
* Since there is no initialize function, I recommend to use the short access syntay
*
* @category Blogs
* @package RangitakiPHP
* @author mmk2410 <marcelmichaelkapfer@yahoo.co.nz>
* @license MIT License
* @link http://marcel-kapfer.de/rangitaki
*/
class BlogListGenerator
{
/**
* A function to generate a blog nav item
*
* @param string $directory The directory of the blog file
* @param string $blogname The name of the blog file
* @param string $blogmaintitle The name of the main blog
*/
function listBlog($directory, $blogname, $blogmaintitle)
{
$blog = file_get_contents($directory . $blogname); // get content of the blog file
$blog = $blog . "\n"; // add a line break as a security measurement
if (substr($blog, 0, 6) == "%TITLE") { // check if the first line includes a title
$blog = substr($blog, 8, strpos($blog, "\n") - 8); // grab the title
if ($blog == "main") { // if on main blog
echo "<a class='nav-item' href='./'>$blogmaintitle</a>"; // create a nav item to the main blog
} else {
$link = "./?blog=" . substr($blogname, 0, -3); // create a link to the blog
echo "<a class='nav-item' href='$link'>$blog</a>"; // create a nav item to the blog
}
}
}
/**
* A function to get the name of a blog
*
* @param string $file The path of the blog file
* @return string
*/
function getName($file)
{
$blog = file_get_contents($file); // get the content of the blog file
$blog = $blog . "\n"; // add a line break as a securit measure
if(substr($blog, 0, 6) == "%TITLE") { // check if first line includes a title
$blog = substr($blog, 8, strpos($blog, "\n") - 8); // grab the title
return $blog; // return it
}
}
}

View File

@ -1,44 +0,0 @@
<!--
The MIT License
Copyright 2015 mmk2410.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
<?php if ($blogdisqus) { // check if disqus is enabled ?>
<section class="card">
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES * * */
var disqus_shortname = '<?php echo $blogdisqus; ?>';
/* * * DON'T EDIT BELOW THIS LINE * * */
(function () {
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
</section>
<?php
} ?>

View File

@ -1,52 +0,0 @@
<?php
/*
* Rangitaki Project
*
* The MIT License
*
* Copyright 2015 mmk2410.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
if ($bloganalytics) { // check if google analytics is enabled
?>
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments);
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m);
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', '<?php echo $bloganalytics; ?>', 'auto');
ga('send', 'pageview');
</script>
<?php
}
?>

File diff suppressed because it is too large Load Diff

103
themes.md Normal file
View File

@ -0,0 +1,103 @@
# Theme Documentation
##### For Rangitaki version 1.0.0
In this directory I will explain what each property of a design css file describes. To create a new theme, just copy one of the available and change it to your liking.
## Content
1. Header
2. Navigation Drawer
3. Body
4. Footer and FAB
## 1 Header
`div .header`
The header bar (aka actionbar) on the top of the page.
`span .title`
The element which contains the title of the blog / subblog. It is in the header.
`a .title > a`
The link in side to *.title* used to reload the page.
`div .fadeout`
This is a fadeout which is normally not visible. It fades the text out, if the *.title* is longer than the *.header*
## 2 Navigation Drawer
`div .nav`
The navigation drawer. It contains the page navigation.
`div .nav-item`
A item in the navigation drawer, which is clickable.
`div .nav-item-static`
The same as a *.nav-item*, but not clickable.
`div .divider`
A divider between different section in the navigation drawer.
## 3 Body
`div .card`
A box which surrounds a whole blog posts (or blog intro)
`a .card > a`
A link in a post / intro.
`a .headline`
The headline / title of a post.
`div .date`
The datestamp of a post.
`div .articletext`
The text of a blog post / blog intro.
`span .author`
The author of a blog post.
`a .tag`
A tag of a blog post. If there are multiple tags, every tag has the class *.tag*.
## 4 Footer and FAB
`div .fabmenu`
The menu which contains the FAB buttons.
`div .fab`
The FAB button, always visible.
`div .subfab`
A subfab, shown if the *.fab* is clicked.
`div .footer`
The footer at the end of a page.
`a .footer > a`
A link in the footer.

View File

@ -1,161 +0,0 @@
/*
The MIT License
Copyright 2015 mmk2410.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/*
Created on : Jun 18, 2015, 6:39:37 PM
Author : mmk2410
*/
body{
font-family: "Roboto", sans-serif;
background: #f6f6f6;
color: #383838;
background-image: url(//marcel-kapfer.de/res/img/druck.png);
background-size: cover;
background-attachment: fixed;
background-position: top center;
background-repeat: no-repeat;
}
.header{
background-color: rgba(0, 0, 0, 0.45);
position: fixed;
}
.title{
color: #fff;
position: absolute;
}
.title > a{
color: #fff;
}
.fadeout{
background: -moz-linear-gradient(left, rgba(30,87,153,0) 0%, rgba(0, 0, 0, 0.45) 100%); /* FF3.6+ */
background: -webkit-linear-gradient(left, rgba(30,87,153,0) 0%,rgba(0, 0, 0, 0.45) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, rgba(30,87,153,0) 0%,rgba(0, 0, 0, 0.45) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left, rgba(30,87,153,0) 0%,rgba(0, 0, 0, 0.45) 100%); /* IE10+ */
background: linear-gradient(to right, rgba(30,87,153,0) 0%,rgba(0, 0, 0, 0.45) 100%); /* W3C */
}
.nav{
background-color: #fff;
border-right: 1px solid #e0e0e0;
}
.nav-item, .nav-item-static{
color: #383838;
}
.nav-item{
font-weight: 600;
}
.nav-item:active{
background-color: #e2e2e2;
}
.divider{
border-bottom: 1px solid #e0e0e0;
}
.card{
background: #fff;
border-radius: 2px;
box-shadow: 0px 1px 1.5px 1.5px rgba(62, 62, 62, 0.3);
}
.card a{
color: #ff4415;
text-decoration: none;
border-bottom: 1px solid transparent;
border-bottom-color: transparent;
transition: border-bottom-color 150ms ease-in-out 100ms;
}
.card a:hover{
border-bottom-color: #ff4415;
}
.headline{
font-size: 24px;
color: #383838!important;
text-decoration: none;
border-bottom: none!important;
}
.date{
font-size: 13px;
}
.articletext{
font-size: 14px;
line-height: 24px;
}
.author{
font-size: 13px;
}
.tag{
font-size: 13px;
}
.fab{
background-color: #ff4415;
box-shadow: 0px 1px 1.5px 1.5px rgba(62, 62, 62, 0.3);
}
.subfab{
background-color: #fff;
box-shadow: 0px 1px 1.5px 1.5px rgba(62, 62, 62, 0.3);
}
.footer{
font-size: 12px;
text-align: center;
color: #fff;
text-shadow: 1px 1px rgba(55, 55, 55, 0.3);
}
.footer a{
color: #fff;
text-shadow: 1px 1px rgba(175, 175, 175, 0.3);
text-decoration: none;
border-bottom: 1px solid transparent;
border-bottom-color: transparent;
}
.footer a:hover{
border-bottom-color: #fff;
}
@media screen and (min-width: 1440px) {
.nav{
background-color: rgba(255, 255, 255, 0.8);
}
}

View File

@ -1,147 +0,0 @@
/*
The MIT License
Copyright 2015 mmk2410.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/*
Created on : Jun 18, 2015, 6:39:37 PM
Author : mmk2410
*/
body{
font-family: "Roboto", sans-serif;
background: #303030;
color: #fff;
}
.header{
background-color: #212121;
position: fixed;
box-shadow: 2px 0px 2px 2px rgba(32, 32, 32, 0.85);
}
.title{
color: #fff;
position: absolute;
}
.title > a{
color: #fff;
}
.fadeout{
background: -moz-linear-gradient(left, rgba(30,87,153,0) 0%, #212121 100%); /* FF3.6+ */
background: -webkit-linear-gradient(left, rgba(30,87,153,0) 0%,#212121 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, rgba(30,87,153,0) 0%,#212121 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left, rgba(30,87,153,0) 0%,#212121 100%); /* IE10+ */
background: linear-gradient(to right, rgba(30,87,153,0) 0%,#212121 100%); /* W3C */
}
.nav{
background-color: #424242;
border-right: 1px solid #1f1f1f;
}
.nav-item, .nav-item-static{
color: #fff;
}
.nav-item{
font-weight: 600;
}
.nav-item:active{
background-color: #383838;
}
.divider{
border-bottom: 1px solid #1f1f1f;
}
.card{
background: #424242;
border-radius: 2px;
box-shadow: 0px 1px 1.5px 1.5px rgba(42, 42, 42, 0.65);
}
.card a{
color: #ff4415;
text-decoration: none;
border-bottom: 1px solid transparent;
border-bottom-color: transparent;
transition: border-bottom-color 150ms ease-in-out 100ms;
}
.card a:hover{
border-bottom-color: #ff4415;
}
.headline{
font-size: 24px;
color: #fff!important;
text-decoration: none;
border-bottom: none!important;
}
.date{
font-size: 13px;
}
.articletext{
font-size: 14px;
line-height: 24px;
}
.author{
font-size: 13px;
}
.tag{
font-size: 13px;
}
.fab{
background-color: #ff4415;
box-shadow: 0px 1px 1.5px 1.5px rgba(42, 42, 42, 0.65);
}
.subfab{
background-color: #424242;
box-shadow: 0px 1px 1.5px 1.5px rgba(42, 42, 42, 0.65);
}
.footer{
font-size: 12px;
text-align: center;
color: #fff;
}
.footer a{
color: #fff;
text-decoration: none;
border-bottom: 1px solid transparent;
border-bottom-color: transparent;
}
.footer a:hover{
border-bottom-color: #fff;
}

View File

@ -1,146 +0,0 @@
/*
The MIT License
Copyright 2015 mmk2410.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/*
Created on : Jun 18, 2015, 6:39:37 PM
Author : mmk2410
*/
body{
font-family: "Roboto", sans-serif;
background: #f6f6f6;
color: #383838;
}
.header{
background-color: #ff4415;
position: fixed;
box-shadow: 2px 0px 2px 2px rgba(62, 62, 62, 0.45);
}
.title{
color: #fff;
position: absolute;
}
.title > a{
color: #fff;
}
.fadeout{
background: -moz-linear-gradient(left, rgba(30,87,153,0) 0%, #ff4415 100%); /* FF3.6+ */
background: -webkit-linear-gradient(left, rgba(30,87,153,0) 0%,#ff4415 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, rgba(30,87,153,0) 0%,#ff4415 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left, rgba(30,87,153,0) 0%,#ff4415 100%); /* IE10+ */
background: linear-gradient(to right, rgba(30,87,153,0) 0%,#ff4415 100%); /* W3C */
}
.nav{
background-color: #fff;
border-right: 1px solid #e0e0e0;
}
.nav-item, .nav-item-static{
color: #383838;
}
.nav-item{
font-weight: 600;
}
.nav-item:active{
background-color: #e2e2e2;
}
.divider{
border-bottom: 1px solid #e0e0e0;
}
.card{
background: #fff;
border-radius: 2px;
box-shadow: 0px 1px 1.5px 1.5px rgba(62, 62, 62, 0.3);
}
.card a{
color: #ff4415;
text-decoration: none;
border-bottom: 1px solid transparent;
border-bottom-color: transparent;
transition: border-bottom-color 150ms ease-in-out 100ms;
}
.card a:hover{
border-bottom-color: #ff4415;
}
.headline{
font-size: 24px;
color: #383838!important;
text-decoration: none;
border-bottom: none!important;
}
.date{
font-size: 13px;
}
.articletext{
font-size: 14px;
line-height: 24px;
}
.author{
font-size: 13px;
}
.tag{
font-size: 13px;
}
.fab{
background-color: #ff4415;
box-shadow: 0px 1px 1.5px 1.5px rgba(62, 62, 62, 0.3);
}
.subfab{
background-color: #fff;
box-shadow: 0px 1px 1.5px 1.5px rgba(62, 62, 62, 0.3);
}
.footer{
font-size: 12px;
text-align: center;
}
.footer a{
color: #383838;
text-decoration: none;
border-bottom: 1px solid transparent;
border-bottom-color: transparent;
}
.footer a:hover{
border-bottom-color: #383838;
}