Version 1.0 beta
This commit is contained in:
commit
63f63489bc
6 changed files with 1918 additions and 0 deletions
22
LICENSE
Normal file
22
LICENSE
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
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.
|
||||||
|
|
24
README.md
Normal file
24
README.md
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# pBlog
|
||||||
|
This is a small php blog engine with **markdown support**
|
||||||
|
|
||||||
|
At the moment it doesn't contain much features, but more will follow.
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
The goal is to create a simple blog engine. The blog posts should be written using (a) xml file(s) and the page should be prepared with a javascript program.
|
||||||
|
|
||||||
|
## Planned Features for Version 1.0
|
||||||
|
- Post writing in XML **DONE**
|
||||||
|
- Markdown support **DONE**
|
||||||
|
- Code support **DONE**
|
||||||
|
|
||||||
|
As you may guess: Version 1.0 will be released soon :D
|
||||||
|
|
||||||
|
## Planned Features
|
||||||
|
- special url actions (blog.html?xyz , blog.html#xyz)
|
||||||
|
- publishing on a set time
|
||||||
|
- Tags
|
||||||
|
|
||||||
|
## More information
|
||||||
|
- [Trello Board](https://trello.com/b/7qb5I6EQ/blog-engine)
|
||||||
|
- [Google+ Profile from Marcel Michael Kapfer](plus.google.com/+MarcelMichaelKapfer)
|
||||||
|
- [Twitter Profile from Marcel Michael Kapfer](twitter.com/MarcelKapfer)
|
95
index.php
Normal file
95
index.php
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<!-- pBlog https://github.com/mmk2410/pblog -->
|
||||||
|
<html>
|
||||||
|
<!-- For a good representation of the source code use an tab width which is not more than 4-->
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<!--Replace pBlog with your Blogtitle-->
|
||||||
|
<title>pBlog</title>
|
||||||
|
<!--Metatags
|
||||||
|
You don't have to change here anything, but I recommend to add an author and description tag-->
|
||||||
|
<meta name="theme-color" content="#ac2900"/>
|
||||||
|
<meta http-equiv="CACHE-CONTROL" content="no-cache" />
|
||||||
|
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
|
||||||
|
<!--CSS
|
||||||
|
no change needed-->
|
||||||
|
<link rel="stylesheet" type="text/css" href="res/blog.css" />
|
||||||
|
<link href='http://fonts.googleapis.com/css?family=Roboto:400,500,700,300,400italic,100,100italic,900' rel='stylesheet' type='text/css'>
|
||||||
|
<!-- Set here the link to your favicon-->
|
||||||
|
<link rel="shortcut icon" href="../images/favicons/deep_orange.png">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class="header">
|
||||||
|
<!--Replace 'index.php' with the link to this file
|
||||||
|
and 'Blog' with your Blogtitle-->
|
||||||
|
<nobr><a href="index.php" class="title">Blog</a></nobr>
|
||||||
|
<!--Set here the link to your Homepage or delete the following line-->
|
||||||
|
<a href="../" class="home">Home</a>
|
||||||
|
</div>
|
||||||
|
<!--DON'T CHANGE ANYTHING HERE!-->
|
||||||
|
<?php
|
||||||
|
require_once 'res/Parsedown.php';
|
||||||
|
$xml = simplexml_load_file('xml/posts.xml');
|
||||||
|
?>
|
||||||
|
<?php
|
||||||
|
foreach ($xml->post as $post){
|
||||||
|
?>
|
||||||
|
<section>
|
||||||
|
<p class="texttitle">
|
||||||
|
<?php
|
||||||
|
echo $post->title;
|
||||||
|
?>
|
||||||
|
</p>
|
||||||
|
<small>
|
||||||
|
<?php
|
||||||
|
echo $post->pubdate;
|
||||||
|
?>
|
||||||
|
</small>
|
||||||
|
<p class="text">
|
||||||
|
<?php
|
||||||
|
echo Parsedown::instance()
|
||||||
|
->setBreaksEnabled(true)
|
||||||
|
->text($post->content);
|
||||||
|
?>
|
||||||
|
</p>
|
||||||
|
<p align="right">
|
||||||
|
<?php
|
||||||
|
foreach ($post->otherlinks->otherlb as $olb){
|
||||||
|
?>
|
||||||
|
<a class="button_white" target="_blank" href="
|
||||||
|
<?php
|
||||||
|
echo $olb->otherurl;
|
||||||
|
?>
|
||||||
|
">
|
||||||
|
<?php
|
||||||
|
echo $olb->otherlink;
|
||||||
|
?>
|
||||||
|
</a>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
foreach($post->mainlink as $mainlink){
|
||||||
|
?>
|
||||||
|
<a class="button_color" target="_blank" href="
|
||||||
|
<?php
|
||||||
|
echo $post->mainurl;
|
||||||
|
?>
|
||||||
|
">
|
||||||
|
<?php
|
||||||
|
echo $post->mainlink;
|
||||||
|
?>
|
||||||
|
</a>
|
||||||
|
<?php } ?>
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<div class="box_container">
|
||||||
|
<!--Set here your personal copyright info-->
|
||||||
|
<p class="cc">
|
||||||
|
pBlog <?php echo date("Y"); ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
1528
res/Parsedown.php
Normal file
1528
res/Parsedown.php
Normal file
File diff suppressed because it is too large
Load diff
187
res/blog.css
Normal file
187
res/blog.css
Normal file
|
@ -0,0 +1,187 @@
|
||||||
|
/* pBlog 0.2 */
|
||||||
|
|
||||||
|
body{
|
||||||
|
margin-right: 15%;
|
||||||
|
margin-left: 15%;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
margin-top: 100px;
|
||||||
|
font-family: 'Roboto', sans-serif;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
letter-spacing: 0.01px;
|
||||||
|
background-color: #ffffff;
|
||||||
|
color: rgba(0, 0, 0, 0.87);
|
||||||
|
}
|
||||||
|
|
||||||
|
img{
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 400px;
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.header{
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
float: center;
|
||||||
|
z-index: 40;
|
||||||
|
background: #de3e0b;
|
||||||
|
width: 100%;
|
||||||
|
box-shadow: 0px 0px 4px 4px rgba(189, 189, 189, 0.5);
|
||||||
|
-moz-box-shadow: 0px 0px 4px 4px rgba(189, 189, 189, 0.5);
|
||||||
|
-webkit-box-shadow: 0px 0px 4px 4px rgba(189, 189, 189, 0.5);
|
||||||
|
height: 60px;
|
||||||
|
padding-right: 0px;
|
||||||
|
padding-top: 0px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.text{
|
||||||
|
font-family: 'Roboto', sans-serif;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
letter-spacing: 0.01px;
|
||||||
|
background-color: #ffffff;
|
||||||
|
z-index: 10;
|
||||||
|
color: rgba(0, 0, 0, 0.87);
|
||||||
|
}
|
||||||
|
.text a{
|
||||||
|
font-family: 'Roboto', sans-serif;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
letter-spacing: 0.01px;
|
||||||
|
color: #de3e0b;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
section{
|
||||||
|
margin-bottom: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Material design flat button
|
||||||
|
|
||||||
|
Usage: <a class=".text_button_flat">YOUR TEXT</a>
|
||||||
|
|
||||||
|
9th November 2014
|
||||||
|
*/
|
||||||
|
.button_white {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #000000;
|
||||||
|
line-height: 40px;
|
||||||
|
min-width: 70px;
|
||||||
|
text-align: center;
|
||||||
|
height: 40px;
|
||||||
|
padding: 8px;
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #a2a2a2;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin: 4px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
margin-left: 5px;
|
||||||
|
letter-spacing: 0.4px;
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 14px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Material design flat button
|
||||||
|
|
||||||
|
Usage: <a class=".text_button_flat_colored">YOUR TEXT</a>
|
||||||
|
|
||||||
|
9th November 2014
|
||||||
|
*/
|
||||||
|
.button_color {
|
||||||
|
text-decoration: none;
|
||||||
|
line-height: 40px;
|
||||||
|
min-width: 70px;
|
||||||
|
text-align: center;
|
||||||
|
height: 40px;
|
||||||
|
padding: 8px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
background-color: #de3e0b;
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: #de3e0b;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin: 4px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
margin-left: 5px;
|
||||||
|
letter-spacing: 0.4px;
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title{
|
||||||
|
padding-left:15%;
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
display:inline-block;
|
||||||
|
text-decoration: none;
|
||||||
|
color: #FFFFFF;
|
||||||
|
vertical-align: middle;
|
||||||
|
font-size: 24px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
max-width: 35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.home{
|
||||||
|
float: right;
|
||||||
|
padding-right: 15%;
|
||||||
|
height: 60px;
|
||||||
|
line-height: 60px;
|
||||||
|
vertical-align: middle;
|
||||||
|
color: #fff;
|
||||||
|
overflow-x: hidden;
|
||||||
|
font-size: 20px;
|
||||||
|
display: inline-block;
|
||||||
|
text-decoration: none;
|
||||||
|
max-width: 35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.texttitle{
|
||||||
|
font-family: 'Roboto', sans-serif;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 20px;
|
||||||
|
color: rgb(33, 33, 33);
|
||||||
|
line-height: 24px;
|
||||||
|
letter-spacing: 0.05px;
|
||||||
|
}
|
||||||
|
.cc{
|
||||||
|
font-family: 'Roboto', sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 14px;
|
||||||
|
letter-spacing: 0.01px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cc a{
|
||||||
|
font-family: 'Roboto', sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 14px;
|
||||||
|
letter-spacing: 0.01px;
|
||||||
|
color: rgba(0, 0, 0, 0.87);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cc a:hover{
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 700px){
|
||||||
|
body {
|
||||||
|
margin-right: 40px;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
.title{
|
||||||
|
padding-left: 10px;
|
||||||
|
max-width: 45%;
|
||||||
|
}
|
||||||
|
.home{
|
||||||
|
padding-right: 10px;
|
||||||
|
max-width: 45%;
|
||||||
|
}
|
||||||
|
}
|
62
xml/posts.xml
Normal file
62
xml/posts.xml
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
<?xml version='1.0' standalone='yes'?>
|
||||||
|
<posts>
|
||||||
|
<post>
|
||||||
|
<title>Version 0.3</title>
|
||||||
|
<pubdate>20th February 2015</pubdate>
|
||||||
|
<content>This is the Version *0.3* of pBlog. It comes with the following changes:
|
||||||
|
- Complete Markdown Support
|
||||||
|
- Design fixes
|
||||||
|
- a mainlink is no longer required
|
||||||
|
</content>
|
||||||
|
</post>
|
||||||
|
<post>
|
||||||
|
<title>Version 0.2</title>
|
||||||
|
<pubdate>20th February 2015</pubdate>
|
||||||
|
<content>
|
||||||
|
The following things are new in this version:
|
||||||
|
- Design
|
||||||
|
- Better structur
|
||||||
|
- cleaned up
|
||||||
|
|
||||||
|
More will come when it is ready!
|
||||||
|
This is the version *0.2*.
|
||||||
|
</content>
|
||||||
|
<mainurl>index.php</mainurl>
|
||||||
|
<mainlink>Reload</mainlink>
|
||||||
|
<otherlinks>
|
||||||
|
<otherlb>
|
||||||
|
<otherurl>http://marcel-kapfer.de</otherurl>
|
||||||
|
<otherlink>marcel-kapfer.de</otherlink>
|
||||||
|
</otherlb>
|
||||||
|
<otherlb>
|
||||||
|
<otherurl>https://github.com/mmk2410/pblog</otherurl>
|
||||||
|
<otherlink>GitHub</otherlink>
|
||||||
|
</otherlb>
|
||||||
|
</otherlinks>
|
||||||
|
</post>
|
||||||
|
<post>
|
||||||
|
<title>Blog (Experimental)</title>
|
||||||
|
<pubdate>13th February 2015</pubdate>
|
||||||
|
<content>
|
||||||
|
This is a test version in a early state of the new **blog engine**. By now it supports following things:
|
||||||
|
- Markdown
|
||||||
|
- Mainlink and various other links
|
||||||
|
|
||||||
|
More will come when it is ready!
|
||||||
|
This is the version *0.1*.
|
||||||
|
</content>
|
||||||
|
<mainurl>index.php</mainurl>
|
||||||
|
<mainlink>Reload</mainlink>
|
||||||
|
<otherlinks>
|
||||||
|
<otherlb>
|
||||||
|
<otherurl>http://marcel-kapfer.de</otherurl>
|
||||||
|
<otherlink>marcel-kapfer.de</otherlink>
|
||||||
|
</otherlb>
|
||||||
|
<otherlb>
|
||||||
|
<otherurl>https://github.com</otherurl>
|
||||||
|
<otherlink>GitHub</otherlink>
|
||||||
|
</otherlb>
|
||||||
|
</otherlinks>
|
||||||
|
</post>
|
||||||
|
|
||||||
|
</posts>
|
Reference in a new issue