diff --git a/README.md b/README.md index a6f82c8..953a822 100644 --- a/README.md +++ b/README.md @@ -1,173 +1,8 @@ # Scripts -A collection of all my scripts - written in different Language -## How to use +A collection of all my scripts - written in different languages. -If nothing other is written, do this: - - 1. Download the script you want. - 2. Run ``chmod +x script`` to make it executable - 3. Run it with ``./script`` - -## buildpdf.sh - -A script for automatically creating PDf files from a latex document. You can set the amounts of builds and the time between the builds. - -**Usage:** ``./buildpdf.sh filename [build amount] [time between builds in s]`` - -## cpy_pst - -A small but useful script for copying and pasting files and directories once or more often. - -**Install:** ``sudo make install`` - -**Usage:** - -``` -cpy filename # Copies a file / directory -pst filename # Pasts a file / directory -``` - -**Remove:** ``sudo make uninstall`` - -## intellij-hidpi.sh - -This is a small script for enabling and disabling HiDPI support on IntelliJ IDEA Community Edition on every Linux distribution where IntelliJ is installed in /usr/share/intellijidea-ce/. If the installation is somewhere else you have to change the variable IDEA_PATH. - -**Usage:** - - - Help: ``./intellij-hidpi.sh -h`` - - Enable ``./intellij-hidpi.sh -e`` - - Disable ``./intellij-hidpi.sh -d`` - -## android-studio-hidpi.sh - -This is a small script for enabling and disabling HiDPI support in Android Stuido on every linux distribution where Android Stuido is installed in /opt/android-studio. If the installation is somewhere else you have to change the variable STUDIO_PATH. - -**Usage:** - - - Help: ``./android-studio-hidpi.sh -h`` - - Enable ``./android-studio-hidpi.sh -e`` - - Disable ``./android-studio-hidpi.sh -d`` - -## jekyll2rangitaki - -A small script for converting Jekyll markdown blog posts to Rangitaki blog posts. - -### How to use - -You don"t have to install anything. Just run - -``` -ruby jekyll2rangitaki.rb -``` - -or - -``` -chmod +x jekyll2rangitaki.rb -./jekyll2rangitaki.rb -``` - -The converter will read all `.md` and `.markdown` in the directory `./in/`, so copy the blog posts, you want to convert into this directory, and it will then throw the converted files out into the directory `./out/`. - -## PHP Scripts - -These scripts are **not for web development**, there for executing on your computer. Just like a bash script, but written in PHP. There also **written for Linux**. I have no idea if they run under another system and I'm not going to test it (if you tested it and if they worked, write me a mail at opensource(at)mmk2410(dot)org and I will add it to this README). - -In order to use these scripts you have to install `php` on your computer. - -Here are installation instruction for a few distributions: - -``` -Arch Linux: -sudo pacman -S php-cgi - -Ubuntu: -sudo apt-get install php5-cli - -Fedora: -sudo dnf install php-cli -``` - -### md2html - -md2html is a simple script that converts markdown files to html code and optionally saves it into a .txt or .html file. The library that powers the whole thing is [Parsedown](https://github.com/erusev/parsedown). - -#### Installation - -To use this script, install `php` (see the section above) and run the following command: -``` -sudo make install -``` - -**You have to add /opt/md2html to your open_basedir in php.ini** - -#### Usage - -Print the help: -``` -md2html --help -``` - -To just print out the HTML code of the given `.md` file run: -``` -md2html text.md -``` - -To print the HTML code into a `.txt` or `.html` file run: -``` -md2html text.md text.html -``` -If you pass a `.html` file for the output it will automatically add a basic HTML5 structure. - -### blogger2rangitaki - -This is a small PHP script for converting a Blogger XML to Rangitaki blog posts. - -This script uses [html-to-markdown](https://github.com/thephpleague/html-to-markdown) to convert the blogposts. - -#### Usage - -You don't need to install that script on your computer. It is enough to make it runnable: - -``` -chmod +x blogger2rangitaki.php -``` - -And to run it: - -``` -./blogger2rangitaki.php blog.xml -``` - -where `blog.xml` is your Blogger XML file (the exported blog). - -**This script doesn't import your media files into Rangitaki.** - -### pblog2rangitaki - -This is a small script which converts pBlog/Rangitaki 0.2.x XML files into Rangitaki blog posts - -### Usage - -You don't need to install this script on your computer, it's enough to make it executable: - -``` -chmod +x pblog2rangitaki.php -``` - -Run it then: - -``` -./pblog2rangitaki.php posts.xml -``` - -Where `posts.xml` is your pBlog/Rangitaki 0.2 XML file. - -The Rangitaki blog posts are saved in `articles/` - -**The `` tag is not supported.** +You can find further instructions in the corresponding README. ## Contributing diff --git a/android-studio-hidpi/LICENSE b/android-studio-hidpi/LICENSE deleted file mode 100644 index 07b04b0..0000000 --- a/android-studio-hidpi/LICENSE +++ /dev/null @@ -1,17 +0,0 @@ -COPYRIGHT (c) 2015 mmk2410 - -GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . diff --git a/android-studio-hidpi/README.md b/android-studio-hidpi/README.md deleted file mode 100644 index 3fe8855..0000000 --- a/android-studio-hidpi/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# android-studio-hidpi.sh - -This is a small script for enabling and disabling HiDPI support in Android Studio. It works just like the one for IntelliJ IDEA since Android Studio is based upon this IDE. - -## How to use - -Download it from GitLab. To make it runnable execute: - -``` -chmod +x android-studio-hidpi.sh -``` - -For some help run - -``` -./android-studio-hidpi.sh -h -``` - -To enable HiDPI support - -``` -./android-studio-hidpi.sh -e -``` - -To disable it - -``` -./android-studio-hidpi.sh -d -``` diff --git a/android-studio-hidpi/android-studio-hidpi.sh b/android-studio-hidpi/android-studio-hidpi.sh deleted file mode 100755 index c57e206..0000000 --- a/android-studio-hidpi/android-studio-hidpi.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/bash -# This is a small script for enabling and disabling HiDPI support in Android Stuido on every Linux distribution where Android Stuido is installed in /opt/android-studio. If the installation is somewhere else you have to change the variable STUDIO_PATH. -# Marcel Michael Kapfer -# 27 May 2015 -# GNU GPL v3.0 -> Feel free to re-distribute or fork it - -## Android Stuido path -STUDIO_PATH="/opt/android-studio/bin" - -## Enable HiDPI -function enable_hidpi { - sudo echo "-Dhidpi=true" >> $STUDIO_PATH/stuido.vmoptions - sudo echo "-Dhidpi=true" >> $STUDIO_PATH/studio64.vmoptions - echo "HiDPI enabled" - exit -} - -## Disable HiDPI -function disable_hidpi { - idea=$(sed '/-Dhidpi=true/d' $STUDIO_PATH/studio.vmoptions) - idea64=$(sed '/-Dhidpi=true/d' $STUDIO_PATH/studio64.vmoptions) - sudo echo "$idea" > $STUDIO_PATH/studio.vmoptions - sudo echo "$idea64" > $STUDIO_PATH/studio64.vmoptions - echo "HiDPI disabled" - exit -} - -## Usage -usage=$( -cat < true)); - $i = 0; - foreach ($xml->entry as $entry) { - if($i > 56) { - - // TITLE - $title = $entry->title; - - // CONTENT - $content = $entry->content; - $content = $converter->convert($content); - - // AUTHOR - $author = $entry->author->name; - - // TAGS - if (isset($entry->categories)) { - echo "YES!"; - foreach ($entry->categories->attributes as $tag) { - if (!(substr_compare($tag->scheme, "http://schemas.google.com/", 0, 26))) { - $tags = $tags . $tag->term . ", "; - } - $tags = substr($tags, 0, strlen($tags) - 2); - } - } - - // Pubdate - $pubdate = $entry->published; - date_default_timezone_set("UTC"); - $pubdate = date("d F Y", strtotime($pubdate)); - - // FILENAME - $date = $entry->published; - $date = date("Y-m-d-H-i", strtotime($date)); - $filetitle = str_replace(" ", "-", $title); - $filename = $date . "-" . $filetitle . ".md"; - - if(isset($tags)){ - $filecontent = <<=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "4.*", - "scrutinizer/ocular": "~1.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "League\\HTMLToMarkdown\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "http://www.colinodell.com", - "role": "Lead Developer" - }, - { - "name": "Nick Cernis", - "email": "nick@cern.is", - "homepage": "http://modernnerd.net", - "role": "Original Author" - } - ], - "description": "An HTML-to-markdown conversion helper for PHP", - "homepage": "https://github.com/thephpleague/html-to-markdown", - "keywords": [ - "html", - "markdown" - ], - "time": "2015-07-25 16:38:14" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/blogger2rangitaki/vendor/autoload.php b/blogger2rangitaki/vendor/autoload.php deleted file mode 100644 index bb9c61f..0000000 --- a/blogger2rangitaki/vendor/autoload.php +++ /dev/null @@ -1,7 +0,0 @@ - - * Jordi Boggiano - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Composer\Autoload; - -/** - * ClassLoader implements a PSR-0 class loader - * - * See https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md - * - * $loader = new \Composer\Autoload\ClassLoader(); - * - * // register classes with namespaces - * $loader->add('Symfony\Component', __DIR__.'/component'); - * $loader->add('Symfony', __DIR__.'/framework'); - * - * // activate the autoloader - * $loader->register(); - * - * // to enable searching the include path (eg. for PEAR packages) - * $loader->setUseIncludePath(true); - * - * In this example, if you try to use a class in the Symfony\Component - * namespace or one of its children (Symfony\Component\Console for instance), - * the autoloader will first look for the class under the component/ - * directory, and it will then fallback to the framework/ directory if not - * found before giving up. - * - * This class is loosely based on the Symfony UniversalClassLoader. - * - * @author Fabien Potencier - * @author Jordi Boggiano - */ -class ClassLoader -{ - // PSR-4 - private $prefixLengthsPsr4 = array(); - private $prefixDirsPsr4 = array(); - private $fallbackDirsPsr4 = array(); - - // PSR-0 - private $prefixesPsr0 = array(); - private $fallbackDirsPsr0 = array(); - - private $useIncludePath = false; - private $classMap = array(); - - private $classMapAuthoritative = false; - - public function getPrefixes() - { - if (!empty($this->prefixesPsr0)) { - return call_user_func_array('array_merge', $this->prefixesPsr0); - } - - return array(); - } - - public function getPrefixesPsr4() - { - return $this->prefixDirsPsr4; - } - - public function getFallbackDirs() - { - return $this->fallbackDirsPsr0; - } - - public function getFallbackDirsPsr4() - { - return $this->fallbackDirsPsr4; - } - - public function getClassMap() - { - return $this->classMap; - } - - /** - * @param array $classMap Class to filename map - */ - public function addClassMap(array $classMap) - { - if ($this->classMap) { - $this->classMap = array_merge($this->classMap, $classMap); - } else { - $this->classMap = $classMap; - } - } - - /** - * Registers a set of PSR-0 directories for a given prefix, either - * appending or prepending to the ones previously set for this prefix. - * - * @param string $prefix The prefix - * @param array|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories - */ - public function add($prefix, $paths, $prepend = false) - { - if (!$prefix) { - if ($prepend) { - $this->fallbackDirsPsr0 = array_merge( - (array) $paths, - $this->fallbackDirsPsr0 - ); - } else { - $this->fallbackDirsPsr0 = array_merge( - $this->fallbackDirsPsr0, - (array) $paths - ); - } - - return; - } - - $first = $prefix[0]; - if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = (array) $paths; - - return; - } - if ($prepend) { - $this->prefixesPsr0[$first][$prefix] = array_merge( - (array) $paths, - $this->prefixesPsr0[$first][$prefix] - ); - } else { - $this->prefixesPsr0[$first][$prefix] = array_merge( - $this->prefixesPsr0[$first][$prefix], - (array) $paths - ); - } - } - - /** - * Registers a set of PSR-4 directories for a given namespace, either - * appending or prepending to the ones previously set for this namespace. - * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param array|string $paths The PSR-0 base directories - * @param bool $prepend Whether to prepend the directories - * - * @throws \InvalidArgumentException - */ - public function addPsr4($prefix, $paths, $prepend = false) - { - if (!$prefix) { - // Register directories for the root namespace. - if ($prepend) { - $this->fallbackDirsPsr4 = array_merge( - (array) $paths, - $this->fallbackDirsPsr4 - ); - } else { - $this->fallbackDirsPsr4 = array_merge( - $this->fallbackDirsPsr4, - (array) $paths - ); - } - } elseif (!isset($this->prefixDirsPsr4[$prefix])) { - // Register directories for a new namespace. - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); - } - $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = (array) $paths; - } elseif ($prepend) { - // Prepend directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - (array) $paths, - $this->prefixDirsPsr4[$prefix] - ); - } else { - // Append directories for an already registered namespace. - $this->prefixDirsPsr4[$prefix] = array_merge( - $this->prefixDirsPsr4[$prefix], - (array) $paths - ); - } - } - - /** - * Registers a set of PSR-0 directories for a given prefix, - * replacing any others previously set for this prefix. - * - * @param string $prefix The prefix - * @param array|string $paths The PSR-0 base directories - */ - public function set($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr0 = (array) $paths; - } else { - $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; - } - } - - /** - * Registers a set of PSR-4 directories for a given namespace, - * replacing any others previously set for this namespace. - * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param array|string $paths The PSR-4 base directories - * - * @throws \InvalidArgumentException - */ - public function setPsr4($prefix, $paths) - { - if (!$prefix) { - $this->fallbackDirsPsr4 = (array) $paths; - } else { - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { - throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); - } - $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = (array) $paths; - } - } - - /** - * Turns on searching the include path for class files. - * - * @param bool $useIncludePath - */ - public function setUseIncludePath($useIncludePath) - { - $this->useIncludePath = $useIncludePath; - } - - /** - * Can be used to check if the autoloader uses the include path to check - * for classes. - * - * @return bool - */ - public function getUseIncludePath() - { - return $this->useIncludePath; - } - - /** - * Turns off searching the prefix and fallback directories for classes - * that have not been registered with the class map. - * - * @param bool $classMapAuthoritative - */ - public function setClassMapAuthoritative($classMapAuthoritative) - { - $this->classMapAuthoritative = $classMapAuthoritative; - } - - /** - * Should class lookup fail if not found in the current class map? - * - * @return bool - */ - public function isClassMapAuthoritative() - { - return $this->classMapAuthoritative; - } - - /** - * Registers this instance as an autoloader. - * - * @param bool $prepend Whether to prepend the autoloader or not - */ - public function register($prepend = false) - { - spl_autoload_register(array($this, 'loadClass'), true, $prepend); - } - - /** - * Unregisters this instance as an autoloader. - */ - public function unregister() - { - spl_autoload_unregister(array($this, 'loadClass')); - } - - /** - * Loads the given class or interface. - * - * @param string $class The name of the class - * @return bool|null True if loaded, null otherwise - */ - public function loadClass($class) - { - if ($file = $this->findFile($class)) { - includeFile($file); - - return true; - } - } - - /** - * Finds the path to the file where the class is defined. - * - * @param string $class The name of the class - * - * @return string|false The path if found, false otherwise - */ - public function findFile($class) - { - // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731 - if ('\\' == $class[0]) { - $class = substr($class, 1); - } - - // class map lookup - if (isset($this->classMap[$class])) { - return $this->classMap[$class]; - } - if ($this->classMapAuthoritative) { - return false; - } - - $file = $this->findFileWithExtension($class, '.php'); - - // Search for Hack files if we are running on HHVM - if ($file === null && defined('HHVM_VERSION')) { - $file = $this->findFileWithExtension($class, '.hh'); - } - - if ($file === null) { - // Remember that this class does not exist. - return $this->classMap[$class] = false; - } - - return $file; - } - - private function findFileWithExtension($class, $ext) - { - // PSR-4 lookup - $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; - - $first = $class[0]; - if (isset($this->prefixLengthsPsr4[$first])) { - foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) { - if (0 === strpos($class, $prefix)) { - foreach ($this->prefixDirsPsr4[$prefix] as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { - return $file; - } - } - } - } - } - - // PSR-4 fallback dirs - foreach ($this->fallbackDirsPsr4 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { - return $file; - } - } - - // PSR-0 lookup - if (false !== $pos = strrpos($class, '\\')) { - // namespaced class name - $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) - . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); - } else { - // PEAR-like class name - $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; - } - - if (isset($this->prefixesPsr0[$first])) { - foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { - if (0 === strpos($class, $prefix)) { - foreach ($dirs as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - } - } - } - - // PSR-0 fallback dirs - foreach ($this->fallbackDirsPsr0 as $dir) { - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { - return $file; - } - } - - // PSR-0 include paths. - if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { - return $file; - } - } -} - -/** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - */ -function includeFile($file) -{ - include $file; -} diff --git a/blogger2rangitaki/vendor/composer/autoload_classmap.php b/blogger2rangitaki/vendor/composer/autoload_classmap.php deleted file mode 100644 index 7a91153..0000000 --- a/blogger2rangitaki/vendor/composer/autoload_classmap.php +++ /dev/null @@ -1,9 +0,0 @@ - array($vendorDir . '/league/html-to-markdown/src'), -); diff --git a/blogger2rangitaki/vendor/composer/autoload_real.php b/blogger2rangitaki/vendor/composer/autoload_real.php deleted file mode 100644 index f58cdfb..0000000 --- a/blogger2rangitaki/vendor/composer/autoload_real.php +++ /dev/null @@ -1,50 +0,0 @@ - $path) { - $loader->set($namespace, $path); - } - - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } - - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); - } - - $loader->register(true); - - return $loader; - } -} - -function composerRequire7f8e28eb5836e5d023a7e972b858cf6e($file) -{ - require $file; -} diff --git a/blogger2rangitaki/vendor/composer/installed.json b/blogger2rangitaki/vendor/composer/installed.json deleted file mode 100644 index 96afc98..0000000 --- a/blogger2rangitaki/vendor/composer/installed.json +++ /dev/null @@ -1,64 +0,0 @@ -[ - { - "name": "league/html-to-markdown", - "version": "4.0.0", - "version_normalized": "4.0.0.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/html-to-markdown.git", - "reference": "16f0fe21c60e8a76a51bdf3b256cb7a54bb1cac4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/16f0fe21c60e8a76a51bdf3b256cb7a54bb1cac4", - "reference": "16f0fe21c60e8a76a51bdf3b256cb7a54bb1cac4", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-xml": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "4.*", - "scrutinizer/ocular": "~1.1" - }, - "time": "2015-07-25 16:38:14", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "installation-source": "dist", - "autoload": { - "psr-4": { - "League\\HTMLToMarkdown\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "http://www.colinodell.com", - "role": "Lead Developer" - }, - { - "name": "Nick Cernis", - "email": "nick@cern.is", - "homepage": "http://modernnerd.net", - "role": "Original Author" - } - ], - "description": "An HTML-to-markdown conversion helper for PHP", - "homepage": "https://github.com/thephpleague/html-to-markdown", - "keywords": [ - "html", - "markdown" - ] - } -] diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/.styleci.yml b/blogger2rangitaki/vendor/league/html-to-markdown/.styleci.yml deleted file mode 100644 index 2ac85ca..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/.styleci.yml +++ /dev/null @@ -1,12 +0,0 @@ -preset: recommended - -enabled: - - concat_with_spaces - - strict - -disabled: - - concat_without_spaces - - phpdoc_short_description - - psr0 - - short_array_syntax - diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/CHANGELOG.md b/blogger2rangitaki/vendor/league/html-to-markdown/CHANGELOG.md deleted file mode 100644 index fa07036..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/CHANGELOG.md +++ /dev/null @@ -1,120 +0,0 @@ -# Change Log -All notable changes to this project will be documented in this file. -Updates should follow the [Keep a CHANGELOG](http://keepachangelog.com/) principles. - -## [Unreleased][unreleased] - -## [4.0.0] - -This release changes the visibility of several methods/properties. #42 and #43 brought to light that some visiblities were -not ideally set, so this releases fixes that. Moving forwards this should reduce the chance of introducing BC-breaking changes. - -### Added - - Added new `HtmlConverter::getEnvironment()` method to expose the `Environment` (#42, #43) - -### Changed - - Changed `Environment::addConverter()` from `protected` to `public`, enabling custom converters to be added (#42, #43) - - Changed `HtmlConverter::createDOMDocument()` from `protected` to `private` - - Changed `Element::nextCached` from `protected` to `private` - - Made the `Environment` class `final` - -## [3.1.1] -### Fixed - - Empty HTML strings now result in empty Markdown documents (#40, #41) - -## [3.1.0] -### Added - - Added new `equals` method to `Element` to check for equality - -### Changes - - Use Linux line endings consistently instead of plaform-specific line endings (#36) - -### Fixed - - Cleaned up code style - -## [3.0.0] -### Changed - - Changed namespace to `League\HTMLToMarkdown` - - Changed packagist name to `league/html-to-markdown` - - Re-organized code into several separate classes - - `` tags with identical href and inner text are now rendered using angular bracket syntax (#31) - - `
` elements are now treated as block-level elements (#33) - -## [2.2.2] -### Added - - Added support for PHP 5.6 and HHVM - - Enabled testing against PHP 7 nightlies - - Added this CHANGELOG.md - -### Fixed - - Fixed whitespace preservation between inline elements (#9 and #10) - -## [2.2.1] -### Fixed - - Preserve placeholder links (#22) - -## [2.2.0] -### Added - - Added CircleCI config - -### Changed - - `
` blocks are now treated as code elements
-
-### Removed
- - Dropped support for PHP 5.2
- - Removed incorrect README comment regarding `#text` nodes (#17)
-
-## [2.1.2]
-### Added
- - Added the ability to blacklist/remove specific node types (#11)
-
-### Changed
- - Line breaks are now placed after divs instead of before them
- - Newlines inside of link texts are now removed
- - Updated the minimum PHPUnit version to 4.*
-
-## [2.1.1]
-### Added
- - Added options to customize emphasis characters
-
-## [2.1.0]
-### Added
- - Added option to strip HTML tags without Markdown equivalents
- - Added `convert()` method for converter reuse
- - Added ability to set options after instance construction
- - Documented the required PHP extensions (#4)
-
-### Changed
- - ATX style now used for h1 and h2 tags inside blockquotes
-
-### Fixed
- - Newlines inside blockquotes are now started with a bracket
- - Fixed some incorrect docblocks
- - `__toString()` now returns an empty string if input is empty
- - Convert head tag if body tag is empty (#7)
- - Preserve special characters inside tags without md equivalents (#6)
-
-
-## [2.0.1]
-### Fixed
- - Fixed first line indentation for multi-line code blocks
- - Fixed consecutive anchors get separating spaces stripped (#3)
-
-## [2.0.0]
-### Added
- - Initial release
-
-[unreleased]: https://github.com/thephpleague/html-to-markdown/compare/4.0.0...master
-[4.0.0]: https://github.com/thephpleague/html-to-markdown/compare/3.1.1...4.0.0
-[3.1.1]: https://github.com/thephpleague/html-to-markdown/compare/3.1.0...3.1.1
-[3.1.0]: https://github.com/thephpleague/html-to-markdown/compare/3.0.0...3.1.0
-[3.0.0]: https://github.com/thephpleague/html-to-markdown/compare/2.2.2...3.0.0
-[2.2.2]: https://github.com/thephpleague/html-to-markdown/compare/2.2.1...2.2.2
-[2.2.1]: https://github.com/thephpleague/html-to-markdown/compare/2.2.0...2.2.1
-[2.2.0]: https://github.com/thephpleague/html-to-markdown/compare/2.1.2...2.2.0
-[2.1.2]: https://github.com/thephpleague/html-to-markdown/compare/2.1.1...2.1.2
-[2.1.1]: https://github.com/thephpleague/html-to-markdown/compare/2.1.0...2.1.1
-[2.1.0]: https://github.com/thephpleague/html-to-markdown/compare/2.0.1...2.1.0
-[2.0.1]: https://github.com/thephpleague/html-to-markdown/compare/2.0.0...2.0.1
-[2.0.0]: https://github.com/thephpleague/html-to-markdown/compare/775f91e...2.0.0
-
diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/CONTRIBUTING.md b/blogger2rangitaki/vendor/league/html-to-markdown/CONTRIBUTING.md
deleted file mode 100644
index dad5f38..0000000
--- a/blogger2rangitaki/vendor/league/html-to-markdown/CONTRIBUTING.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributing
-
-Contributions are **welcome** and will be fully **credited**.
-
-We accept contributions via Pull Requests on [Github](https://github.com/thephpleague/html-to-markdown).
-
-
-## Pull Requests
-
-- **[PSR-2 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)** - The easiest way to apply the conventions is to install [PHP Code Sniffer](http://pear.php.net/package/PHP_CodeSniffer).
-
-- **Add tests!** - Your patch won't be accepted if it doesn't have tests.
-
-- **Document any change in behaviour** - Make sure the `README.md` and any other relevant documentation are kept up-to-date.
-
-- **Consider our release cycle** - We try to follow [SemVer v2.0.0](http://semver.org/). Randomly breaking public APIs is not an option.
-
-- **Create feature branches** - Don't ask us to pull from your master branch.
-
-- **One pull request per feature** - If you want to do more than one thing, send multiple pull requests.
-
-- **Send coherent history** - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please [squash them](http://www.git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages) before submitting.
-
-
-## Running Tests
-
-``` bash
-$ ./vendor/bin/phpunit
-```
-
-
-**Happy coding**!
diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/LICENSE b/blogger2rangitaki/vendor/league/html-to-markdown/LICENSE
deleted file mode 100644
index 6c04a59..0000000
--- a/blogger2rangitaki/vendor/league/html-to-markdown/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 Colin O'Dell
-
-Originally created by Nick Cernis
-
-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.
\ No newline at end of file
diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/README.md b/blogger2rangitaki/vendor/league/html-to-markdown/README.md
deleted file mode 100644
index 6395c6d..0000000
--- a/blogger2rangitaki/vendor/league/html-to-markdown/README.md
+++ /dev/null
@@ -1,151 +0,0 @@
-HTML To Markdown for PHP
-========================
-
-[![Latest Version](https://img.shields.io/packagist/v/league/html-to-markdown.svg?style=flat-square)](https://packagist.org/packages/league/html-to-markdown)
-[![Software License](http://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE)
-[![Build Status](https://img.shields.io/travis/thephpleague/html-to-markdown/master.svg?style=flat-square)](https://travis-ci.org/thephpleague/html-to-markdown)
-[![Coverage Status](https://img.shields.io/scrutinizer/coverage/g/thephpleague/html-to-markdown.svg?style=flat-square)](https://scrutinizer-ci.com/g/thephpleague/html-to-markdown/code-structure)
-[![Quality Score](https://img.shields.io/scrutinizer/g/thephpleague/html-to-markdown.svg?style=flat-square)](https://scrutinizer-ci.com/g/thephpleague/html-to-markdown)
-[![Total Downloads](https://img.shields.io/packagist/dt/league/html-to-markdown.svg?style=flat-square)](https://packagist.org/packages/league/html-to-markdown)
-
-Library which converts HTML to [Markdown](http://daringfireball.net/projects/markdown/) for your sanity and convenience.
-
-
-**Requires**: PHP 5.3+
-
-**Lead Developer**: [@colinodell](http://twitter.com/colinodell)
-
-**Original Author**: [@nickcernis](http://twitter.com/nickcernis)
-
-
-### Why convert HTML to Markdown?
-
-*"What alchemy is this?"* you mutter. *"I can see why you'd convert [Markdown to HTML](https://github.com/thephpleague/commonmark),"* you continue, already labouring the question somewhat, *"but why go the other way?"*
-
-Typically you would convert HTML to Markdown if:
-
-1. You have an existing HTML document that needs to be edited by people with good taste.
-2. You want to store new content in HTML format but edit it as Markdown.
-3. You want to convert HTML email to plain text email. 
-4. You know a guy who's been converting HTML to Markdown for years, and now he can speak Elvish. You'd quite like to be able to speak Elvish.
-5. You just really like Markdown.
-
-### How to use it
-
-Require the library in your composer.json:
-
-    {
-        "require": {
-            "league/html-to-markdown": "~4.0"
-        }
-    }
-
-Then `composer install` and add `require 'vendor/autoload.php';` to the top of your script.
-
-Next, create a new HtmlConverter instance, passing in your valid HTML code to its `convert()` function:
-
-    use League\HTMLToMarkdown\HtmlConverter;
-
-    $converter = new HtmlConverter();
-
-    $html = "

Quick, to the Batpoles!

"; - $markdown = $converter->convert($html); - -The `$markdown` variable now contains the Markdown version of your HTML as a string: - - echo $markdown; // ==> ### Quick, to the Batpoles! - -The included `demo` directory contains an HTML->Markdown conversion form to try out. - -### Conversion options - -By default, HTML To Markdown preserves HTML tags without Markdown equivalents, like `` and `
`. - -To strip HTML tags that don't have a Markdown equivalent while preserving the content inside them, set `strip_tags` to true, like this: - - $converter = new HtmlConverter(array('strip_tags' => true)); - - $html = 'Turnips!'; - $markdown = $converter->convert($html); // $markdown now contains "Turnips!" - -Or more explicitly, like this: - - $converter = new HtmlConverter(); - $converter->setOption('strip_tags', true); - - $html = 'Turnips!'; - $markdown = $converter->convert($html); // $markdown now contains "Turnips!" - -Note that only the tags themselves are stripped, not the content they hold. - -To strip tags and their content, pass a space-separated list of tags in `remove_nodes`, like this: - - $converter = new HtmlConverter(array('remove_nodes' => 'span div')); - - $html = 'Turnips!
Monkeys!
'; - $markdown = $converter->convert($html); // $markdown now contains "" - -### Style options - -Bold and italic tags are converted using the asterisk syntax by default. Change this to the underlined syntax using the `bold_style` and `italic_style` options. - - $converter = new HtmlConverter(); - $converter->setOption('italic_style', '_'); - $converter->setOption('bold_style', '__'); - - $html = 'Italic and a bold'; - $markdown = $converter->convert($html); // $markdown now contains "_Italic_ and a __bold__" - -### Limitations - -- Markdown Extra, MultiMarkdown and other variants aren't supported – just Markdown. - -### Known issues - -- Nested lists and lists containing multiple paragraphs aren't converted correctly. -- Lists inside blockquotes aren't converted correctly. -- Any reported [open issues here](https://github.com/thephpleague/html-to-markdown/issues?state=open). - -[Report your issue or request a feature here.](https://github.com/thephpleague/html-to-markdown/issues/new) Issues with patches or failing tests are especially welcome. - -### Style notes - -- Setext (underlined) headers are the default for H1 and H2. If you prefer the ATX style for H1 and H2 (# Header 1 and ## Header 2), set `header_style` to 'atx' in the options array when you instantiate the object: - - `$converter = new HtmlConverter(array('header_style'=>'atx'));` - - Headers of H3 priority and lower always use atx style. - -- Links and images are referenced inline. Footnote references (where image src and anchor href attributes are listed in the footnotes) are not used. -- Blockquotes aren't line wrapped – it makes the converted Markdown easier to edit. - -### Dependencies - -HTML To Markdown requires PHP's [xml](http://www.php.net/manual/en/xml.installation.php), [lib-xml](http://www.php.net/manual/en/libxml.installation.php), and [dom](http://www.php.net/manual/en/dom.installation.php) extensions, all of which are enabled by default on most distributions. - -Errors such as "Fatal error: Class 'DOMDocument' not found" on distributions such as CentOS that disable PHP's xml extension can be resolved by installing php-xml. - -### Contributors - -Many thanks to all [contributors](https://github.com/thephpleague/html-to-markdown/graphs/contributors) so far. Further improvements and feature suggestions are very welcome. - -### How it works - -HTML To Markdown creates a DOMDocument from the supplied HTML, walks through the tree, and converts each node to a text node containing the equivalent markdown, starting from the most deeply nested node and working inwards towards the root node. - -### To-do - -- Support for nested lists and lists inside blockquotes. -- Offer an option to preserve tags as HTML if they contain attributes that can't be represented with Markdown (e.g. `style`). - -### Trying to convert Markdown to HTML? - -Use one of these great libraries: - - - [league/commonmark](https://github.com/thephpleague/commonmark) (recommended) - - [cebe/markdown](https://github.com/cebe/markdown) - - [PHP Markdown](https://michelf.ca/projects/php-markdown/) - - [Parsedown](https://github.com/erusev/parsedown) - -No guarantees about the Elvish, though. - diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/composer.json b/blogger2rangitaki/vendor/league/html-to-markdown/composer.json deleted file mode 100644 index 208ec96..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/composer.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "league/html-to-markdown", - "type": "library", - "description": "An HTML-to-markdown conversion helper for PHP", - "keywords": ["markdown", "html"], - "homepage": "https://github.com/thephpleague/html-to-markdown", - "license": "MIT", - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "http://www.colinodell.com", - "role": "Lead Developer" - }, - { - "name": "Nick Cernis", - "email": "nick@cern.is", - "homepage": "http://modernnerd.net", - "role": "Original Author" - } - ], - "autoload": { - "psr-4": { - "League\\HTMLToMarkdown\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "League\\HTMLToMarkdown\\Test\\": "tests" - } - }, - "require": { - "php": ">=5.3.3", - "ext-dom": "*", - "ext-xml": "*" - }, - "require-dev": { - "phpunit/phpunit": "4.*", - "scrutinizer/ocular": "~1.1" - }, - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/demo/index.php b/blogger2rangitaki/vendor/league/html-to-markdown/demo/index.php deleted file mode 100644 index d93e9ed..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/demo/index.php +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - HTML To Markdown Demo - - - - -
-

HTML

- -
- - -
- - - - -
- -
- -
-

Markdown

-
-
- -
- -

- HTML To Markdown is a library to convert HTML into Markdown with PHP. -

- - - \ No newline at end of file diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Configuration.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Configuration.php deleted file mode 100644 index 2943383..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Configuration.php +++ /dev/null @@ -1,60 +0,0 @@ -config = $config; - } - - /** - * @param array $config - */ - public function merge(array $config = array()) - { - $this->config = array_replace_recursive($this->config, $config); - } - - /** - * @param array $config - */ - public function replace(array $config = array()) - { - $this->config = $config; - } - - /** - * @param string $key - * @param mixed $value - */ - public function setOption($key, $value) - { - $this->config[$key] = $value; - } - - /** - * @param string|null $key - * @param mixed|null $default - * - * @return mixed|null - */ - public function getOption($key = null, $default = null) - { - if ($key === null) { - return $this->config; - } - - if (!isset($this->config[$key])) { - return $default; - } - - return $this->config[$key]; - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php deleted file mode 100644 index 8aca530..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/ConfigurationAwareInterface.php +++ /dev/null @@ -1,11 +0,0 @@ -' symbols to each line. - - $markdown = ''; - - $quote_content = trim($element->getValue()); - - $lines = preg_split('/\r\n|\r|\n/', $quote_content); - - $total_lines = count($lines); - - foreach ($lines as $i => $line) { - $markdown .= '> ' . $line . "\n"; - if ($i + 1 === $total_lines) { - $markdown .= "\n"; - } - } - - return $markdown; - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array('blockquote'); - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/CommentConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/CommentConverter.php deleted file mode 100644 index 55038b2..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/CommentConverter.php +++ /dev/null @@ -1,26 +0,0 @@ -config = $config; - } - - /** - * @param ElementInterface $element - * - * @return string - */ - public function convert(ElementInterface $element) - { - // If strip_tags is false (the default), preserve tags that don't have Markdown equivalents, - // such as nodes on their own. C14N() canonicalizes the node to a string. - // See: http://www.php.net/manual/en/domnode.c14n.php - if ($this->config->getOption('strip_tags', false)) { - return $element->getValue(); - } - - return html_entity_decode($element->getChildrenAsString()); - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array(self::DEFAULT_CONVERTER); - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/DivConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/DivConverter.php deleted file mode 100644 index 656a0ba..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/DivConverter.php +++ /dev/null @@ -1,45 +0,0 @@ -config = $config; - } - - /** - * @param ElementInterface $element - * - * @return string - */ - public function convert(ElementInterface $element) - { - if ($this->config->getOption('strip_tags', false)) { - return $element->getValue() . "\n\n"; - } - - return html_entity_decode($element->getChildrenAsString()); - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array('div'); - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php deleted file mode 100644 index 184d2f1..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/EmphasisConverter.php +++ /dev/null @@ -1,50 +0,0 @@ -config = $config; - } - - /** - * @param ElementInterface $element - * - * @return string - */ - public function convert(ElementInterface $element) - { - $tag = $element->getTagName(); - $value = $element->getValue(); - - if ($tag === 'i' || $tag === 'em') { - $style = $this->config->getOption('italic_style'); - } else { - $style = $this->config->getOption('bold_style'); - } - - return $style . $value . $style; - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array('em', 'i', 'strong', 'b'); - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php deleted file mode 100644 index df7561a..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/HardBreakConverter.php +++ /dev/null @@ -1,26 +0,0 @@ -config = $config; - } - - /** - * @param ElementInterface $element - * - * @return string - */ - public function convert(ElementInterface $element) - { - $level = (int) substr($element->getTagName(), 1, 1); - $style = $this->config->getOption('header_style', self::STYLE_SETEXT); - - if (($level === 1 || $level === 2) && !$element->isDescendantOf('blockquote') && $style === self::STYLE_SETEXT) { - return $this->createSetextHeader($level, $element->getValue()); - } else { - return $this->createAtxHeader($level, $element->getValue()); - } - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array('h1', 'h2', 'h3', 'h4', 'h5', 'h6'); - } - - /** - * @param int $level - * @param string $content - * - * @return string - */ - private function createSetextHeader($level, $content) - { - $length = (function_exists('mb_strlen')) ? mb_strlen($content, 'utf-8') : strlen($content); - $underline = ($level === 1) ? '=' : '-'; - - return $content . "\n" . str_repeat($underline, $length) . "\n\n"; - } - - /** - * @param int $level - * @param string $content - * - * @return string - */ - private function createAtxHeader($level, $content) - { - $prefix = str_repeat('#', $level) . ' '; - - return $prefix . $content . "\n\n"; - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php deleted file mode 100644 index 8f54f93..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/HorizontalRuleConverter.php +++ /dev/null @@ -1,26 +0,0 @@ -getAttribute('src'); - $alt = $element->getAttribute('alt'); - $title = $element->getAttribute('title'); - - if ($title !== '') { - // No newlines added. should be in a block-level element. - $markdown = '![' . $alt . '](' . $src . ' "' . $title . '")'; - } else { - $markdown = '![' . $alt . '](' . $src . ')'; - } - - return $markdown; - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array('img'); - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/LinkConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/LinkConverter.php deleted file mode 100644 index c9af4f3..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/LinkConverter.php +++ /dev/null @@ -1,42 +0,0 @@ -getAttribute('href'); - $title = $element->getAttribute('title'); - $text = $element->getValue(); - - if ($title !== '') { - $markdown = '[' . $text . '](' . $href . ' "' . $title . '")'; - } elseif ($href === $text) { - $markdown = '<' . $href . '>'; - } else { - $markdown = '[' . $text . '](' . $href . ')'; - } - - if (!$href) { - $markdown = html_entity_decode($element->getChildrenAsString()); - } - - return $markdown; - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array('a'); - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php deleted file mode 100644 index 07a4c85..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/ListBlockConverter.php +++ /dev/null @@ -1,26 +0,0 @@ -getValue() . "\n"; - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array('ol', 'ul'); - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php deleted file mode 100644 index 625bf42..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/ListItemConverter.php +++ /dev/null @@ -1,37 +0,0 @@ -getParent()->getTagName(); - $value = $element->getValue(); - - if ($list_type === 'ul') { - $markdown = '- ' . trim($value) . "\n"; - } else { - $number = $element->getSiblingPosition(); - $markdown = $number . '. ' . trim($value) . "\n"; - } - - return $markdown; - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array('li'); - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php deleted file mode 100644 index 8a72e8a..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/ParagraphConverter.php +++ /dev/null @@ -1,28 +0,0 @@ -getValue(); - - return (trim($value)) ? rtrim($value) . "\n\n" : ''; - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array('p'); - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php deleted file mode 100644 index 5b5e662..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/PreformattedConverter.php +++ /dev/null @@ -1,73 +0,0 @@ -getChildrenAsString()); - $code_content = str_replace(array('', ''), '', $code_content); - $code_content = str_replace(array('
', '
'), '', $code_content); - - $lines = preg_split('/\r\n|\r|\n/', $code_content); - $total = count($lines); - - // If there's more than one line of code, prepend each line with four spaces and no backticks. - if ($total > 1 || $element->getTagName() === 'pre') { - // Remove the first and last line if they're empty - $first_line = trim($lines[0]); - $last_line = trim($lines[$total - 1]); - $first_line = trim($first_line, ' '); //trim XML style carriage returns too - $last_line = trim($last_line, ' '); - - if (empty($first_line)) { - array_shift($lines); - } - - if (empty($last_line)) { - array_pop($lines); - } - - $count = 1; - foreach ($lines as $line) { - $line = str_replace(' ', '', $line); - $markdown .= ' ' . $line; - // Add newlines, except final line of the code - if ($count !== $total) { - $markdown .= "\n"; - } - $count++; - } - $markdown .= "\n"; - } else { - // There's only one line of code. It's a code span, not a block. Just wrap it with backticks. - $markdown .= '`' . $lines[0] . '`'; - } - - if ($element->getTagName() === 'pre') { - $markdown = "\n" . $markdown . "\n"; - } - - return $markdown; - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array('pre', 'code'); - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/TextConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/TextConverter.php deleted file mode 100644 index 0f8b75f..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Converter/TextConverter.php +++ /dev/null @@ -1,38 +0,0 @@ -getValue(); - - $markdown = preg_replace('~\s+~', ' ', $value); - $markdown = preg_replace('~^#~', '\\\\#', $markdown); - - if ($markdown === ' ') { - $next = $element->getNext(); - if (!$next || $next->isBlock()) { - $markdown = ''; - } - } - - return $markdown; - } - - /** - * @return string[] - */ - public function getSupportedTags() - { - return array('#text'); - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/Element.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/Element.php deleted file mode 100644 index 1c4702e..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/Element.php +++ /dev/null @@ -1,234 +0,0 @@ -node = $node; - } - - /** - * @return bool - */ - public function isBlock() - { - switch ($this->getTagName()) { - case 'blockquote': - case 'body': - case 'code': - case 'div': - case 'h1': - case 'h2': - case 'h3': - case 'h4': - case 'h5': - case 'h6': - case 'hr': - case 'html': - case 'li': - case 'p': - case 'ol': - case 'ul': - return true; - default: - return false; - } - } - - /** - * @return bool - */ - public function isText() - { - return $this->getTagName() === '#text'; - } - - /** - * @return bool - */ - public function isWhitespace() - { - return $this->getTagName() === '#text' && trim($this->getValue()) === ''; - } - - /** - * @return string - */ - public function getTagName() - { - return $this->node->nodeName; - } - - /** - * @return string - */ - public function getValue() - { - return $this->node->nodeValue; - } - - /** - * @return ElementInterface|null - */ - public function getParent() - { - return new static($this->node->parentNode) ?: null; - } - - /** - * @return bool - */ - public function hasChildren() - { - return $this->node->hasChildNodes(); - } - - /** - * @return ElementInterface[] - */ - public function getChildren() - { - $ret = array(); - /** @var \DOMNode $node */ - foreach ($this->node->childNodes as $node) { - $ret[] = new static($node); - } - - return $ret; - } - - /** - * @return ElementInterface|null - */ - public function getNext() - { - if ($this->nextCached === null) { - $nextNode = $this->getNextNode($this->node); - if ($nextNode !== null) { - $this->nextCached = new static($nextNode); - } - } - - return $this->nextCached; - } - - /** - * @param \DomNode $node - * - * @return \DomNode|null - */ - private function getNextNode($node, $checkChildren = true) - { - if ($checkChildren && $node->firstChild) { - return $node->firstChild; - } elseif ($node->nextSibling) { - return $node->nextSibling; - } elseif ($node->parentNode) { - return $this->getNextNode($node->parentNode, false); - } - } - - /** - * @param string[]|string $tagNames - * - * @return bool - */ - public function isDescendantOf($tagNames) - { - if (!is_array($tagNames)) { - $tagNames = array($tagNames); - } - - for ($p = $this->node->parentNode; $p !== false; $p = $p->parentNode) { - if (is_null($p)) { - return false; - } - - if (in_array($p->nodeName, $tagNames)) { - return true; - } - } - - return false; - } - - /** - * @param string $markdown - */ - public function setFinalMarkdown($markdown) - { - $markdown_node = $this->node->ownerDocument->createTextNode($markdown); - $this->node->parentNode->replaceChild($markdown_node, $this->node); - } - - /** - * @return string - */ - public function getChildrenAsString() - { - return $this->node->C14N(); - } - - /** - * @return int - */ - public function getSiblingPosition() - { - $position = 0; - - // Loop through all nodes and find the given $node - foreach ($this->getParent()->getChildren() as $current_node) { - if (!$current_node->isWhitespace()) { - $position++; - } - - // TODO: Need a less-buggy way of comparing these - // Perhaps we can somehow ensure that we always have the exact same object and use === instead? - if ($this->equals($current_node)) { - break; - } - } - - return $position; - } - - /** - * @param string $name - * - * @return string - */ - public function getAttribute($name) - { - if ($this->node instanceof \DOMElement) { - return $this->node->getAttribute($name); - } - - return ''; - } - - /** - * @param ElementInterface $element - * - * @return bool - */ - public function equals(ElementInterface $element) - { - if ($element instanceof self) { - return $element->node === $this->node; - } - - return $element === $this; - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/ElementInterface.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/ElementInterface.php deleted file mode 100644 index 138ddf2..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/ElementInterface.php +++ /dev/null @@ -1,80 +0,0 @@ -config = new Configuration($config); - $this->addConverter(new DefaultConverter()); - } - - /** - * @return Configuration - */ - public function getConfig() - { - return $this->config; - } - - /** - * @param ConverterInterface $converter - */ - public function addConverter(ConverterInterface $converter) - { - if ($converter instanceof ConfigurationAwareInterface) { - $converter->setConfig($this->config); - } - - foreach ($converter->getSupportedTags() as $tag) { - $this->converters[$tag] = $converter; - } - } - - /** - * @param string $tag - * - * @return ConverterInterface - */ - public function getConverterByTag($tag) - { - if (isset($this->converters[$tag])) { - return $this->converters[$tag]; - } - - return $this->converters[DefaultConverter::DEFAULT_CONVERTER]; - } - - /** - * @param array $config - * - * @return Environment - */ - public static function createDefaultEnvironment(array $config = array()) - { - $environment = new static($config); - - $environment->addConverter(new BlockquoteConverter()); - $environment->addConverter(new CommentConverter()); - $environment->addConverter(new DivConverter()); - $environment->addConverter(new EmphasisConverter()); - $environment->addConverter(new HardBreakConverter()); - $environment->addConverter(new HeaderConverter()); - $environment->addConverter(new HorizontalRuleConverter()); - $environment->addConverter(new ImageConverter()); - $environment->addConverter(new LinkConverter()); - $environment->addConverter(new ListBlockConverter()); - $environment->addConverter(new ListItemConverter()); - $environment->addConverter(new ParagraphConverter()); - $environment->addConverter(new PreformattedConverter()); - $environment->addConverter(new TextConverter()); - - return $environment; - } -} diff --git a/blogger2rangitaki/vendor/league/html-to-markdown/src/HtmlConverter.php b/blogger2rangitaki/vendor/league/html-to-markdown/src/HtmlConverter.php deleted file mode 100644 index ae5ecd4..0000000 --- a/blogger2rangitaki/vendor/league/html-to-markdown/src/HtmlConverter.php +++ /dev/null @@ -1,194 +0,0 @@ - - * @author Nick Cernis - * - * @link https://github.com/thephpleague/html-to-markdown/ Latest version on GitHub. - * - * @license http://www.opensource.org/licenses/mit-license.php MIT - */ -class HtmlConverter -{ - /** - * @var Environment - */ - protected $environment; - - /** - * Constructor - * - * @param array $options Configuration options - */ - public function __construct(array $options = array()) - { - $defaults = array( - 'header_style' => 'setext', // Set to 'atx' to output H1 and H2 headers as # Header1 and ## Header2 - 'suppress_errors' => true, // Set to false to show warnings when loading malformed HTML - 'strip_tags' => false, // Set to true to strip tags that don't have markdown equivalents. N.B. Strips tags, not their content. Useful to clean MS Word HTML output. - 'bold_style' => '**', // Set to '__' if you prefer the underlined style - 'italic_style' => '*', // Set to '_' if you prefer the underlined style - 'remove_nodes' => '', // space-separated list of dom nodes that should be removed. example: 'meta style script' - ); - - $this->environment = Environment::createDefaultEnvironment($defaults); - - $this->environment->getConfig()->merge($options); - } - - /** - * @return Environment - */ - public function getEnvironment() - { - return $this->environment; - } - - /** - * @return Configuration - */ - public function getConfig() - { - return $this->environment->getConfig(); - } - - /** - * Convert - * - * Loads HTML and passes to getMarkdown() - * - * @param $html - * - * @return string The Markdown version of the html - */ - public function convert($html) - { - if (trim($html) === '') { - return ''; - } - - $document = $this->createDOMDocument($html); - - // Work on the entire DOM tree (including head and body) - if (!($root = $document->getElementsByTagName('html')->item(0))) { - throw new \InvalidArgumentException('Invalid HTML was provided'); - } - - $rootElement = new Element($root); - $this->convertChildren($rootElement); - - // Store the now-modified DOMDocument as a string - $markdown = $document->saveHTML(); - - $markdown = $this->sanitize($markdown); - - return $markdown; - } - - /** - * @param string $html - * - * @return \DOMDocument - */ - private function createDOMDocument($html) - { - $document = new \DOMDocument(); - - if ($this->getConfig()->getOption('suppress_errors')) { - // Suppress conversion errors (from http://bit.ly/pCCRSX) - libxml_use_internal_errors(true); - } - - // Hack to load utf-8 HTML (from http://bit.ly/pVDyCt) - $document->loadHTML('' . $html); - $document->encoding = 'UTF-8'; - - if ($this->getConfig()->getOption('suppress_errors')) { - libxml_clear_errors(); - } - - return $document; - } - - /** - * Convert Children - * - * Recursive function to drill into the DOM and convert each node into Markdown from the inside out. - * - * Finds children of each node and convert those to #text nodes containing their Markdown equivalent, - * starting with the innermost element and working up to the outermost element. - * - * @param ElementInterface $element - */ - private function convertChildren(ElementInterface $element) - { - // Don't convert HTML code inside and
 blocks to Markdown - that should stay as HTML
-        if ($element->isDescendantOf(array('pre', 'code'))) {
-            return;
-        }
-
-        // If the node has children, convert those to Markdown first
-        if ($element->hasChildren()) {
-            foreach ($element->getChildren() as $child) {
-                $this->convertChildren($child);
-            }
-        }
-
-        // Now that child nodes have been converted, convert the original node
-        $markdown = $this->convertToMarkdown($element);
-
-        // Create a DOM text node containing the Markdown equivalent of the original node
-
-        // Replace the old $node e.g. '

Title

' with the new $markdown_node e.g. '### Title' - $element->setFinalMarkdown($markdown); - } - - /** - * Convert to Markdown - * - * Converts an individual node into a #text node containing a string of its Markdown equivalent. - * - * Example: An

node with text content of 'Title' becomes a text node with content of '### Title' - * - * @param ElementInterface $element - * - * @return string The converted HTML as Markdown - */ - protected function convertToMarkdown(ElementInterface $element) - { - $tag = $element->getTagName(); - - // Strip nodes named in remove_nodes - $tags_to_remove = explode(' ', $this->getConfig()->getOption('remove_nodes')); - if (in_array($tag, $tags_to_remove)) { - return false; - } - - $converter = $this->environment->getConverterByTag($tag); - - return $converter->convert($element); - } - - /** - * @param string $markdown - * - * @return string - */ - protected function sanitize($markdown) - { - $markdown = html_entity_decode($markdown, ENT_QUOTES, 'UTF-8'); - $markdown = html_entity_decode($markdown, ENT_QUOTES, 'UTF-8'); // Double decode to cover cases like &nbsp; http://www.php.net/manual/en/function.htmlentities.php#99984 - $markdown = preg_replace('/]+>/', '', $markdown); // Strip doctype declaration - $unwanted = array('', '', '', '', '', '', '', ' '); - $markdown = str_replace($unwanted, '', $markdown); // Strip unwanted tags - $markdown = trim($markdown, "\n\r\0\x0B"); - - return $markdown; - } -} diff --git a/buildpdf/LICENSE b/buildpdf/LICENSE deleted file mode 100644 index 07b04b0..0000000 --- a/buildpdf/LICENSE +++ /dev/null @@ -1,17 +0,0 @@ -COPYRIGHT (c) 2015 mmk2410 - -GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . diff --git a/buildpdf/README.md b/buildpdf/README.md deleted file mode 100644 index 16599db..0000000 --- a/buildpdf/README.md +++ /dev/null @@ -1,23 +0,0 @@ -## buildpdf.sh -**buildpdf** is a small script for LaTeX users who want to generate a pdf from their LaTeX source code in regular periods. - -### How to use - -To use it download the script from GitLab and make it executable with - -``` -chmod +x buildpdf.sh -``` - -Then run it: - -``` -./buildpdf.sh filename [build amount] [time between builds in s] -``` - -You have to give a filename as an argument and you're able to set, how much builds you wanna create and how much time should be between these builds. - -### Further information - - - [Bash script for LaTeX users](https://mmk2410.org/2015/01/06/107/) - - [UPDATE: Bash script for LaTeX users](https://mmk2410.org/2015/01/09/update-bash-script-for-latex-users/) \ No newline at end of file diff --git a/buildpdf/buildpdf.sh b/buildpdf/buildpdf.sh deleted file mode 100755 index 2a47975..0000000 --- a/buildpdf/buildpdf.sh +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/bash -# A script for automatically creating PDf files from a latex document -# You can set the amounts of builds and the time between these builds -# Usage: ./buildpdf.sh filename [build amount] [time between builds in s] -# Marcel Michael Kapfer (mmk2410) -# 6th January 2015 - 2017 -# GNU GPL v3.0 -> Feel free to re-distribute it or fork it - -print() { - - local text="$1" - - date "+[%F %T] $text" - -} - -run() { - - local filename="$1" - local number="$2" - - print "Building..." - pdflatex "$filename" > /dev/null 2>&1 - print "Build $number ready" - -} - - -build() { - - local filename="$1" - local builds="$2" - local sleeptime="$3" - local i="1" - - while [[ "$i" -le "$builds" ]]; do - - run "$filename" "$i" - - if [[ "$i" -lt "$builds" ]]; then - print "Waiting $sleeptime seconds - then build again" - sleep "$sleeptime" - else - print "Jobs done. Exiting now..." - fi - - ((++i)) - - done - -} - -build_infty() { - - local filename="$1" - local builds="1" - local sleeptime="$2" - - while : ; do - - run "$filename" "$builds" - - print "Waiting $sleeptime seconds - then build again" - sleep "$sleeptime" - - ((++builds)) - - done - -} - -main() { - - if [[ -z "$1" || "$1" == "--help" || "$1" == "-h" ]]; then - cat < args) async { - - String path = "./version.txt"; - String recipient = ""; - String eclipseUrl = "https://eclipse.org/downloads/eclipse-packages/"; - String oldVersion = ""; - - /// Parse the given arguments. - if (args.length == 3) { - if (args[0] == "--file" || args[0] == "-f") { - path = args[1]; - recipient = args[2]; - } else { - help(); - } - } else if (args.length == 1){ - if (args[0] == "--help" || args[0] == "-h") { - help(); - } else { - recipient = args[0]; - } - } else if (args.length == 0) { - help(); - } - - if (!recipient.contains("@")) { - print("No correct mail address given."); - exit(-1); - } - - http.Response response = await http.get(eclipseUrl); - - if (response.body.trim().isEmpty) { - print("Website not available"); - exit(1); - } - - Document document = parser.parse(response.body); - - String version = document.getElementById("descriptionText").text; - - if (version.trim().isEmpty) { - print("No version information available."); - exit(1); - } - - if (!version.contains("(") || !version.contains(")")) { - print("Version format seems to have changed."); - print("Version string: $version"); - exit(2); - } - - version = version.split("(")[1].split(")")[0].trim(); - - File file = new File(path); - - if (await file.exists()) { - oldVersion = await file.readAsString(); - - oldVersion = oldVersion.trim(); - } else { - oldVersion = ""; - } - - if (oldVersion == version) { - print("No version change"); - exit(0); - } - - file.writeAsString(version); - - print("A new version is available!"); - - /// Send mail using the mail command. - await Process.run( - "mail", - ["-s", "New Eclipse Version: $version", recipient], - runInShell: true - ); - -} - -/// Print the help text and exit the program. -help() { - print(""" -Eclipse Version Scraping -2017 (c) Marcel Kapfer -Licensed under GNU GPL v3 - -dart bin/main.dart [options] recipient - - -h | --help Print this help and exit - -f | --file File to use for saving the version."""); - - exit(0); -} \ No newline at end of file diff --git a/eclipse-version-scraping/pubspec.yaml b/eclipse-version-scraping/pubspec.yaml deleted file mode 100644 index 81c6676..0000000 --- a/eclipse-version-scraping/pubspec.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: eclipse_version_scraping -version: 0.1.1 -description: Scrape the number of the latest version from the eclipse.org page. -dependencies: - html: ^0.13.1 - http: ^0.11.3 diff --git a/intellij-hidpi/LICENSE b/intellij-hidpi/LICENSE deleted file mode 100644 index 07b04b0..0000000 --- a/intellij-hidpi/LICENSE +++ /dev/null @@ -1,17 +0,0 @@ -COPYRIGHT (c) 2015 mmk2410 - -GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . diff --git a/intellij-hidpi/README.md b/intellij-hidpi/README.md deleted file mode 100644 index db2649e..0000000 --- a/intellij-hidpi/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# intellij-hidpi.sh - -This is another small script for enabling and disabling HiDPI support on IntelliJ IDEA without editing any config files. - -**Since IntelliJ IDEA version 15 this script is no longer necessary because IntelliJ has builtin HiDPI support** - -## How to use - -Download it from GitLab. To make it runnable execute - -~~~~~ -chmod +x intellij-hidpi.sh -~~~~~ - -For some help run - -~~~~~ -./intellij-hidpi.sh -h -~~~~~ - -To enable HiDPI support - -~~~~~ -./intellij-hidpi.sh -e -~~~~~ - -To disable it - -~~~~~ -./intellij-hidpi.sh -d -~~~~~ \ No newline at end of file diff --git a/intellij-hidpi/intellij-hidpi.sh b/intellij-hidpi/intellij-hidpi.sh deleted file mode 100755 index 9c476b4..0000000 --- a/intellij-hidpi/intellij-hidpi.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/bash -# This is a small script for enabling and disabling HiDPI support on IntelliJ IDEA Community Edition on every Linux distribution where IntelliJ is installed in /usr/share/intellijidea-ce/. If the installation is somewhere else you have to change the variable IDEA_PATH. -# Marcel Michael Kapfer -# 27 May 2015 -# GNU GPL v3.0 -> Feel free to re-distribute or fork it - -## IntelliJ path -IDEA_PATH="/usr/share/intellijidea-ce/bin" - -## Enable HiDPI -function enable_hidpi { - sudo echo "-Dhidpi=true" >> $IDEA_PATH/idea.vmoptions - sudo echo "-Dhidpi=true" >> $IDEA_PATH/idea64.vmoptions - echo "HiDPI enabled" - exit -} - -## Disable HiDPI -function disable_hidpi { - idea=$(sed '/-Dhidpi=true/d' $IDEA_PATH/idea.vmoptions) - idea64=$(sed '/-Dhidpi=true/d' $IDEA_PATH/idea64.vmoptions) - sudo echo "$idea" > $IDEA_PATH/idea.vmoptions - sudo echo "$idea64" > $IDEA_PATH/idea64.vmoptions - echo "HiDPI disabled" - exit -} - -## Usage -usage=$( -cat < prints 'Hi, Tom' to STDOUT. -{% endhighlight %} - -Check out the [Jekyll docs][jekyll] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll’s dedicated Help repository][jekyll-help]. - -[jekyll]: http://jekyllrb.com -[jekyll-gh]: https://github.com/jekyll/jekyll -[jekyll-help]: https://github.com/jekyll/jekyll-help diff --git a/jekyll2rangitaki/jekyll2rangitaki.rb b/jekyll2rangitaki/jekyll2rangitaki.rb deleted file mode 100755 index bcccfd9..0000000 --- a/jekyll2rangitaki/jekyll2rangitaki.rb +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/ruby -require 'time' -if ARGV[0] == "-h" || ARGV[0] == "--help" - puts "\njekyll2rangitaki converter\n\n" \ - "2015 (C) Marcel Kapfer (mmk2410)\n" \ - "MIT License\n\n" \ - "Version: 0.1.0\n" \ - "Release Date: 03 November 2015\n\n" \ - "Usage:\n" \ - "Copy the jekyll files into an directory called\n" \ - " ./in and run the script. The converted files \n" \ - "are saved in ./out\n\n" \ - "Options:\n" \ - "-h || --help print the help and exit\n\n" - exit -end -if !File.directory?("./in/") - puts "No input directory" - exit -end -articles = Dir.entries('./in') -for article in articles - title = "" - date = "" - time = Time.new - tags = "" - text = "" - if article.length > 2 && (article.end_with?(".md") || article.end_with?(".markdown")) - file = File.open("./in/#{article}") - file.each do |line| - if line.start_with?("---") - next - elsif line.start_with?("layout") - next - elsif line.start_with?("title") - title = line[7...line.length].strip! - title = title.chomp("\"")[1...title.length] - elsif line.start_with?("date") - date = line[5...line.length].strip - time = Time.new(date[0...4],date[5...7],date[8...10],date[11...13],date[14...16],date[17...19]) - elsif line.start_with?("categories") - tags = line[12...line.length].strip - tags[" "] = ", " - elsif line.start_with?("{% highlight") || line.start_with?("{% endhighlight") - text += "```\n" - else - text += line - end - end - if !File.directory?("./out") - Dir.mkdir("./out") - end - article[".markdown"] = ".md" - post = File.new("./out/#{article}", "w") - post.puts "%TITLE: #{title}" if !title.empty? - post.puts "%DATE: #{time.strftime("%d %B %Y %H:%M")}" if time != nil - post.puts "%TAGS: #{tags}" if !tags.empty? - post.puts text if !text.empty? - post.close - end -end diff --git a/jekyll2rangitaki/out/2015-02-21-my-name-is-marcel-kapfer.md b/jekyll2rangitaki/out/2015-02-21-my-name-is-marcel-kapfer.md deleted file mode 100644 index 7ffd48c..0000000 --- a/jekyll2rangitaki/out/2015-02-21-my-name-is-marcel-kapfer.md +++ /dev/null @@ -1,6 +0,0 @@ -%TITLE: Please Read! -%DATE: 21 February 2015 20:58 -%TAGS: jekyll, update - -#Hello all together -My name is Marcel Kapfer and I'm surprised that you are visiting this page! Because it isn't in use at the moment. My website is at marcel-kapfer.de and there you will find a link to my blog! diff --git a/jekyll2rangitaki/out/2015-02-21-welcome-to-jekyll.md b/jekyll2rangitaki/out/2015-02-21-welcome-to-jekyll.md deleted file mode 100644 index 6a865d7..0000000 --- a/jekyll2rangitaki/out/2015-02-21-welcome-to-jekyll.md +++ /dev/null @@ -1,22 +0,0 @@ -%TITLE: Welcome to Jekyll! -%DATE: 21 February 2015 20:26 -%TAGS: jekyll, update -You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. - -To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works. - -Jekyll also offers powerful support for code snippets: - -``` -def print_hi(name) - puts "Hi, #{name}" -end -print_hi('Tom') -#=> prints 'Hi, Tom' to STDOUT. -``` - -Check out the [Jekyll docs][jekyll] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll’s dedicated Help repository][jekyll-help]. - -[jekyll]: http://jekyllrb.com -[jekyll-gh]: https://github.com/jekyll/jekyll -[jekyll-help]: https://github.com/jekyll/jekyll-help diff --git a/md2html/LICENSE b/md2html/LICENSE deleted file mode 100644 index 7ba963c..0000000 --- a/md2html/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -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. diff --git a/md2html/Makefile b/md2html/Makefile deleted file mode 100644 index 515408a..0000000 --- a/md2html/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -all: - -install: - mkdir -p /opt/md2html/ - mkdir -p /opt/md2html/libs/ - mkdir -p /opt/md2html/src/ - install libs/* /opt/md2html/libs/ - install src/* /opt/md2html/src/ - install md2html.php /usr/bin/md2html - -remove: - rm -rf /opt/md2html - rm /usr/bin/md2html diff --git a/md2html/README.md b/md2html/README.md deleted file mode 100644 index 812cd32..0000000 --- a/md2html/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# md2html - -md2html is a simple script that converts markdown files to html code and optionally saves it into a .txt or .html file. The library that powers the whole thing is [Parsedown](https://github.com/erusev/parsedown). - -## Installation - -To use this script, install `php` and run the following command: -``` -sudo make install -``` - -**You have to add /opt/md2html to your php.ini open_basedir !** - -## Usage - -Print the help: -``` -md2html --help -``` - -To just print out the HTML code of the given `.md` file run: -``` -md2html text.md -``` - -To print the HTML code into a `.txt` or `.html` file run: -``` -md2html text.md text.html -``` -If you pass a `.html` file for the output it will automatically add a basic HTML5 structure. diff --git a/md2html/libs/Parsedown.php b/md2html/libs/Parsedown.php deleted file mode 100644 index 3a2803a..0000000 --- a/md2html/libs/Parsedown.php +++ /dev/null @@ -1,1527 +0,0 @@ -DefinitionData = array(); - - # standardize line breaks - $text = str_replace(array("\r\n", "\r"), "\n", $text); - - # remove surrounding line breaks - $text = trim($text, "\n"); - - # split text into lines - $lines = explode("\n", $text); - - # iterate through lines to identify blocks - $markup = $this->lines($lines); - - # trim line breaks - $markup = trim($markup, "\n"); - - return $markup; - } - - # - # Setters - # - - function setBreaksEnabled($breaksEnabled) - { - $this->breaksEnabled = $breaksEnabled; - - return $this; - } - - protected $breaksEnabled; - - function setMarkupEscaped($markupEscaped) - { - $this->markupEscaped = $markupEscaped; - - return $this; - } - - protected $markupEscaped; - - function setUrlsLinked($urlsLinked) - { - $this->urlsLinked = $urlsLinked; - - return $this; - } - - protected $urlsLinked = true; - - # - # Lines - # - - protected $BlockTypes = array( - '#' => array('Header'), - '*' => array('Rule', 'List'), - '+' => array('List'), - '-' => array('SetextHeader', 'Table', 'Rule', 'List'), - '0' => array('List'), - '1' => array('List'), - '2' => array('List'), - '3' => array('List'), - '4' => array('List'), - '5' => array('List'), - '6' => array('List'), - '7' => array('List'), - '8' => array('List'), - '9' => array('List'), - ':' => array('Table'), - '<' => array('Comment', 'Markup'), - '=' => array('SetextHeader'), - '>' => array('Quote'), - '[' => array('Reference'), - '_' => array('Rule'), - '`' => array('FencedCode'), - '|' => array('Table'), - '~' => array('FencedCode'), - ); - - # ~ - - protected $unmarkedBlockTypes = array( - 'Code', - ); - - # - # Blocks - # - - private function lines(array $lines) - { - $CurrentBlock = null; - - foreach ($lines as $line) - { - if (chop($line) === '') - { - if (isset($CurrentBlock)) - { - $CurrentBlock['interrupted'] = true; - } - - continue; - } - - if (strpos($line, "\t") !== false) - { - $parts = explode("\t", $line); - - $line = $parts[0]; - - unset($parts[0]); - - foreach ($parts as $part) - { - $shortage = 4 - mb_strlen($line, 'utf-8') % 4; - - $line .= str_repeat(' ', $shortage); - $line .= $part; - } - } - - $indent = 0; - - while (isset($line[$indent]) and $line[$indent] === ' ') - { - $indent ++; - } - - $text = $indent > 0 ? substr($line, $indent) : $line; - - # ~ - - $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); - - # ~ - - if (isset($CurrentBlock['continuable'])) - { - $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock); - - if (isset($Block)) - { - $CurrentBlock = $Block; - - continue; - } - else - { - if (method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - } - } - - # ~ - - $marker = $text[0]; - - # ~ - - $blockTypes = $this->unmarkedBlockTypes; - - if (isset($this->BlockTypes[$marker])) - { - foreach ($this->BlockTypes[$marker] as $blockType) - { - $blockTypes []= $blockType; - } - } - - # - # ~ - - foreach ($blockTypes as $blockType) - { - $Block = $this->{'block'.$blockType}($Line, $CurrentBlock); - - if (isset($Block)) - { - $Block['type'] = $blockType; - - if ( ! isset($Block['identified'])) - { - $Blocks []= $CurrentBlock; - - $Block['identified'] = true; - } - - if (method_exists($this, 'block'.$blockType.'Continue')) - { - $Block['continuable'] = true; - } - - $CurrentBlock = $Block; - - continue 2; - } - } - - # ~ - - if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted'])) - { - $CurrentBlock['element']['text'] .= "\n".$text; - } - else - { - $Blocks []= $CurrentBlock; - - $CurrentBlock = $this->paragraph($Line); - - $CurrentBlock['identified'] = true; - } - } - - # ~ - - if (isset($CurrentBlock['continuable']) and method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - - # ~ - - $Blocks []= $CurrentBlock; - - unset($Blocks[0]); - - # ~ - - $markup = ''; - - foreach ($Blocks as $Block) - { - if (isset($Block['hidden'])) - { - continue; - } - - $markup .= "\n"; - $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']); - } - - $markup .= "\n"; - - # ~ - - return $markup; - } - - # - # Code - - protected function blockCode($Line, $Block = null) - { - if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted'])) - { - return; - } - - if ($Line['indent'] >= 4) - { - $text = substr($Line['body'], 4); - - $Block = array( - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => array( - 'name' => 'code', - 'text' => $text, - ), - ), - ); - - return $Block; - } - } - - protected function blockCodeContinue($Line, $Block) - { - if ($Line['indent'] >= 4) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['element']['text']['text'] .= "\n"; - - $text = substr($Line['body'], 4); - - $Block['element']['text']['text'] .= $text; - - return $Block; - } - } - - protected function blockCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Comment - - protected function blockComment($Line) - { - if ($this->markupEscaped) - { - return; - } - - if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!') - { - $Block = array( - 'markup' => $Line['body'], - ); - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - } - - protected function blockCommentContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - $Block['markup'] .= "\n" . $Line['body']; - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - - # - # Fenced Code - - protected function blockFencedCode($Line) - { - if (preg_match('/^['.$Line['text'][0].']{3,}[ ]*([\w-]+)?[ ]*$/', $Line['text'], $matches)) - { - $Element = array( - 'name' => 'code', - 'text' => '', - ); - - if (isset($matches[1])) - { - $class = 'language-'.$matches[1]; - - $Element['attributes'] = array( - 'class' => $class, - ); - } - - $Block = array( - 'char' => $Line['text'][0], - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => $Element, - ), - ); - - return $Block; - } - } - - protected function blockFencedCodeContinue($Line, $Block) - { - if (isset($Block['complete'])) - { - return; - } - - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text'])) - { - $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); - - $Block['complete'] = true; - - return $Block; - } - - $Block['element']['text']['text'] .= "\n".$Line['body'];; - - return $Block; - } - - protected function blockFencedCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Header - - protected function blockHeader($Line) - { - if (isset($Line['text'][1])) - { - $level = 1; - - while (isset($Line['text'][$level]) and $Line['text'][$level] === '#') - { - $level ++; - } - - if ($level > 6) - { - return; - } - - $text = trim($Line['text'], '# '); - - $Block = array( - 'element' => array( - 'name' => 'h' . min(6, $level), - 'text' => $text, - 'handler' => 'line', - ), - ); - - return $Block; - } - } - - # - # List - - protected function blockList($Line) - { - list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]'); - - if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'indent' => $Line['indent'], - 'pattern' => $pattern, - 'element' => array( - 'name' => $name, - 'handler' => 'elements', - ), - ); - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $matches[2], - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - } - - protected function blockListContinue($Line, array $Block) - { - if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['li']['text'] []= ''; - - unset($Block['interrupted']); - } - - unset($Block['li']); - - $text = isset($matches[1]) ? $matches[1] : ''; - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $text, - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - - if ($Line['text'][0] === '[' and $this->blockReference($Line)) - { - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - return $Block; - } - - if ($Line['indent'] > 0) - { - $Block['li']['text'] []= ''; - - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - unset($Block['interrupted']); - - return $Block; - } - } - - # - # Quote - - protected function blockQuote($Line) - { - if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'element' => array( - 'name' => 'blockquote', - 'handler' => 'lines', - 'text' => (array) $matches[1], - ), - ); - - return $Block; - } - } - - protected function blockQuoteContinue($Line, array $Block) - { - if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text'] []= ''; - - unset($Block['interrupted']); - } - - $Block['element']['text'] []= $matches[1]; - - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $Block['element']['text'] []= $Line['text']; - - return $Block; - } - } - - # - # Rule - - protected function blockRule($Line) - { - if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text'])) - { - $Block = array( - 'element' => array( - 'name' => 'hr' - ), - ); - - return $Block; - } - } - - # - # Setext - - protected function blockSetextHeader($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (chop($Line['text'], $Line['text'][0]) === '') - { - $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; - - return $Block; - } - } - - # - # Markup - - protected function blockMarkup($Line) - { - if ($this->markupEscaped) - { - return; - } - - if (preg_match('/^<(\w*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches)) - { - if (in_array($matches[1], $this->textLevelElements)) - { - return; - } - - $Block = array( - 'name' => $matches[1], - 'depth' => 0, - 'markup' => $Line['text'], - ); - - $length = strlen($matches[0]); - - $remainder = substr($Line['text'], $length); - - if (trim($remainder) === '') - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - $Block['closed'] = true; - - $Block['void'] = true; - } - } - else - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - return; - } - - if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder)) - { - $Block['closed'] = true; - } - } - - return $Block; - } - } - - protected function blockMarkupContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open - { - $Block['depth'] ++; - } - - if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close - { - if ($Block['depth'] > 0) - { - $Block['depth'] --; - } - else - { - $Block['closed'] = true; - } - } - - if (isset($Block['interrupted'])) - { - $Block['markup'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['markup'] .= "\n".$Line['body']; - - return $Block; - } - - # - # Reference - - protected function blockReference($Line) - { - if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) - { - $id = strtolower($matches[1]); - - $Data = array( - 'url' => $matches[2], - 'title' => null, - ); - - if (isset($matches[3])) - { - $Data['title'] = $matches[3]; - } - - $this->DefinitionData['Reference'][$id] = $Data; - - $Block = array( - 'hidden' => true, - ); - - return $Block; - } - } - - # - # Table - - protected function blockTable($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '') - { - $alignments = array(); - - $divider = $Line['text']; - - $divider = trim($divider); - $divider = trim($divider, '|'); - - $dividerCells = explode('|', $divider); - - foreach ($dividerCells as $dividerCell) - { - $dividerCell = trim($dividerCell); - - if ($dividerCell === '') - { - continue; - } - - $alignment = null; - - if ($dividerCell[0] === ':') - { - $alignment = 'left'; - } - - if (substr($dividerCell, - 1) === ':') - { - $alignment = $alignment === 'left' ? 'center' : 'right'; - } - - $alignments []= $alignment; - } - - # ~ - - $HeaderElements = array(); - - $header = $Block['element']['text']; - - $header = trim($header); - $header = trim($header, '|'); - - $headerCells = explode('|', $header); - - foreach ($headerCells as $index => $headerCell) - { - $headerCell = trim($headerCell); - - $HeaderElement = array( - 'name' => 'th', - 'text' => $headerCell, - 'handler' => 'line', - ); - - if (isset($alignments[$index])) - { - $alignment = $alignments[$index]; - - $HeaderElement['attributes'] = array( - 'style' => 'text-align: '.$alignment.';', - ); - } - - $HeaderElements []= $HeaderElement; - } - - # ~ - - $Block = array( - 'alignments' => $alignments, - 'identified' => true, - 'element' => array( - 'name' => 'table', - 'handler' => 'elements', - ), - ); - - $Block['element']['text'] []= array( - 'name' => 'thead', - 'handler' => 'elements', - ); - - $Block['element']['text'] []= array( - 'name' => 'tbody', - 'handler' => 'elements', - 'text' => array(), - ); - - $Block['element']['text'][0]['text'] []= array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $HeaderElements, - ); - - return $Block; - } - } - - protected function blockTableContinue($Line, array $Block) - { - if (isset($Block['interrupted'])) - { - return; - } - - if ($Line['text'][0] === '|' or strpos($Line['text'], '|')) - { - $Elements = array(); - - $row = $Line['text']; - - $row = trim($row); - $row = trim($row, '|'); - - preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); - - foreach ($matches[0] as $index => $cell) - { - $cell = trim($cell); - - $Element = array( - 'name' => 'td', - 'handler' => 'line', - 'text' => $cell, - ); - - if (isset($Block['alignments'][$index])) - { - $Element['attributes'] = array( - 'style' => 'text-align: '.$Block['alignments'][$index].';', - ); - } - - $Elements []= $Element; - } - - $Element = array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $Elements, - ); - - $Block['element']['text'][1]['text'] []= $Element; - - return $Block; - } - } - - # - # ~ - # - - protected function paragraph($Line) - { - $Block = array( - 'element' => array( - 'name' => 'p', - 'text' => $Line['text'], - 'handler' => 'line', - ), - ); - - return $Block; - } - - # - # Inline Elements - # - - protected $InlineTypes = array( - '"' => array('SpecialCharacter'), - '!' => array('Image'), - '&' => array('SpecialCharacter'), - '*' => array('Emphasis'), - ':' => array('Url'), - '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'), - '>' => array('SpecialCharacter'), - '[' => array('Link'), - '_' => array('Emphasis'), - '`' => array('Code'), - '~' => array('Strikethrough'), - '\\' => array('EscapeSequence'), - ); - - # ~ - - protected $inlineMarkerList = '!"*_&[:<>`~\\'; - - # - # ~ - # - - public function line($text) - { - $markup = ''; - - # $text contains the unexamined text - # $excerpt is based on the first occurrence of a marker - - while ($excerpt = strpbrk($text, $this->inlineMarkerList)) - { - $marker = $excerpt[0]; - - $markerPosition = strpos($text, $marker); - - $Excerpt = array('text' => $excerpt, 'context' => $text); - - foreach ($this->InlineTypes[$marker] as $inlineType) - { - $Inline = $this->{'inline'.$inlineType}($Excerpt); - - if ( ! isset($Inline)) - { - continue; - } - - # makes sure that the inline belongs to "our" marker - - if (isset($Inline['position']) and $Inline['position'] > $markerPosition) - { - continue; - } - - # sets a default inline position - - if ( ! isset($Inline['position'])) - { - $Inline['position'] = $markerPosition; - } - - # the text that comes before the inline - $unmarkedText = substr($text, 0, $Inline['position']); - - # compile the unmarked text - $markup .= $this->unmarkedText($unmarkedText); - - # compile the inline - $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']); - - # remove the examined text - $text = substr($text, $Inline['position'] + $Inline['extent']); - - continue 2; - } - - # the marker does not belong to an inline - - $unmarkedText = substr($text, 0, $markerPosition + 1); - - $markup .= $this->unmarkedText($unmarkedText); - - $text = substr($text, $markerPosition + 1); - } - - $markup .= $this->unmarkedText($text); - - return $markup; - } - - # - # ~ - # - - protected function inlineCode($Excerpt) - { - $marker = $Excerpt['text'][0]; - - if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(? strlen($matches[0]), - 'element' => array( - 'name' => 'code', - 'text' => $text, - ), - ); - } - } - - protected function inlineEmailTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) - { - $url = $matches[1]; - - if ( ! isset($matches[2])) - { - $url = 'mailto:' . $url; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $matches[1], - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - protected function inlineEmphasis($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - $marker = $Excerpt['text'][0]; - - if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'strong'; - } - elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'em'; - } - else - { - return; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => $emphasis, - 'handler' => 'line', - 'text' => $matches[1], - ), - ); - } - - protected function inlineEscapeSequence($Excerpt) - { - if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) - { - return array( - 'markup' => $Excerpt['text'][1], - 'extent' => 2, - ); - } - } - - protected function inlineImage($Excerpt) - { - if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') - { - return; - } - - $Excerpt['text']= substr($Excerpt['text'], 1); - - $Link = $this->inlineLink($Excerpt); - - if ($Link === null) - { - return; - } - - $Inline = array( - 'extent' => $Link['extent'] + 1, - 'element' => array( - 'name' => 'img', - 'attributes' => array( - 'src' => $Link['element']['attributes']['href'], - 'alt' => $Link['element']['text'], - ), - ), - ); - - $Inline['element']['attributes'] += $Link['element']['attributes']; - - unset($Inline['element']['attributes']['href']); - - return $Inline; - } - - protected function inlineLink($Excerpt) - { - $Element = array( - 'name' => 'a', - 'handler' => 'line', - 'text' => null, - 'attributes' => array( - 'href' => null, - 'title' => null, - ), - ); - - $extent = 0; - - $remainder = $Excerpt['text']; - - if (preg_match('/\[((?:[^][]|(?R))*)\]/', $remainder, $matches)) - { - $Element['text'] = $matches[1]; - - $extent += strlen($matches[0]); - - $remainder = substr($remainder, $extent); - } - else - { - return; - } - - if (preg_match('/^[(]((?:[^ ()]|[(][^ )]+[)])+)(?:[ ]+("[^"]*"|\'[^\']*\'))?[)]/', $remainder, $matches)) - { - $Element['attributes']['href'] = $matches[1]; - - if (isset($matches[2])) - { - $Element['attributes']['title'] = substr($matches[2], 1, - 1); - } - - $extent += strlen($matches[0]); - } - else - { - if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) - { - $definition = strlen($matches[1]) ? $matches[1] : $Element['text']; - $definition = strtolower($definition); - - $extent += strlen($matches[0]); - } - else - { - $definition = strtolower($Element['text']); - } - - if ( ! isset($this->DefinitionData['Reference'][$definition])) - { - return; - } - - $Definition = $this->DefinitionData['Reference'][$definition]; - - $Element['attributes']['href'] = $Definition['url']; - $Element['attributes']['title'] = $Definition['title']; - } - - $Element['attributes']['href'] = str_replace(array('&', '<'), array('&', '<'), $Element['attributes']['href']); - - return array( - 'extent' => $extent, - 'element' => $Element, - ); - } - - protected function inlineMarkup($Excerpt) - { - if ($this->markupEscaped or strpos($Excerpt['text'], '>') === false) - { - return; - } - - if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w*[ ]*>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - } - - protected function inlineSpecialCharacter($Excerpt) - { - if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text'])) - { - return array( - 'markup' => '&', - 'extent' => 1, - ); - } - - $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot'); - - if (isset($SpecialCharacter[$Excerpt['text'][0]])) - { - return array( - 'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';', - 'extent' => 1, - ); - } - } - - protected function inlineStrikethrough($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) - { - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'del', - 'text' => $matches[1], - 'handler' => 'line', - ), - ); - } - } - - protected function inlineUrl($Excerpt) - { - if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') - { - return; - } - - if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) - { - $Inline = array( - 'extent' => strlen($matches[0][0]), - 'position' => $matches[0][1], - 'element' => array( - 'name' => 'a', - 'text' => $matches[0][0], - 'attributes' => array( - 'href' => $matches[0][0], - ), - ), - ); - - return $Inline; - } - } - - protected function inlineUrlTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) - { - $url = str_replace(array('&', '<'), array('&', '<'), $matches[1]); - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $url, - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - # ~ - - protected function unmarkedText($text) - { - if ($this->breaksEnabled) - { - $text = preg_replace('/[ ]*\n/', "
\n", $text); - } - else - { - $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
\n", $text); - $text = str_replace(" \n", "\n", $text); - } - - return $text; - } - - # - # Handlers - # - - protected function element(array $Element) - { - $markup = '<'.$Element['name']; - - if (isset($Element['attributes'])) - { - foreach ($Element['attributes'] as $name => $value) - { - if ($value === null) - { - continue; - } - - $markup .= ' '.$name.'="'.$value.'"'; - } - } - - if (isset($Element['text'])) - { - $markup .= '>'; - - if (isset($Element['handler'])) - { - $markup .= $this->{$Element['handler']}($Element['text']); - } - else - { - $markup .= $Element['text']; - } - - $markup .= ''; - } - else - { - $markup .= ' />'; - } - - return $markup; - } - - protected function elements(array $Elements) - { - $markup = ''; - - foreach ($Elements as $Element) - { - $markup .= "\n" . $this->element($Element); - } - - $markup .= "\n"; - - return $markup; - } - - # ~ - - protected function li($lines) - { - $markup = $this->lines($lines); - - $trimmedMarkup = trim($markup); - - if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '

') - { - $markup = $trimmedMarkup; - $markup = substr($markup, 3); - - $position = strpos($markup, "

"); - - $markup = substr_replace($markup, '', $position, 4); - } - - return $markup; - } - - # - # Deprecated Methods - # - - function parse($text) - { - $markup = $this->text($text); - - return $markup; - } - - # - # Static Methods - # - - static function instance($name = 'default') - { - if (isset(self::$instances[$name])) - { - return self::$instances[$name]; - } - - $instance = new self(); - - self::$instances[$name] = $instance; - - return $instance; - } - - private static $instances = array(); - - # - # Fields - # - - protected $DefinitionData; - - # - # Read-Only - - protected $specialCharacters = array( - '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', - ); - - protected $StrongRegex = array( - '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', - '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', - ); - - protected $EmRegex = array( - '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', - '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', - ); - - protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; - - protected $voidElements = array( - 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', - ); - - protected $textLevelElements = array( - 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', - 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', - 'i', 'rp', 'del', 'code', 'strike', 'marquee', - 'q', 'rt', 'ins', 'font', 'strong', - 's', 'tt', 'sub', 'mark', - 'u', 'xm', 'sup', 'nobr', - 'var', 'ruby', - 'wbr', 'span', - 'time', - ); -} diff --git a/md2html/md2html.php b/md2html/md2html.php deleted file mode 100755 index 94e8c61..0000000 --- a/md2html/md2html.php +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/php - 3) { - echo "Arguments not possible.\n"; - echo $usage; -} elseif (isset($argv[2])) { - if(substr_compare($argv[1], ".md", -3) == 0){ - if(substr_compare($argv[2], ".txt", -4) == 0 || - substr_compare($argv[2], ".html", -5) == 0) { - if(file_exists($argv[1])){ - $handler = fopen($argv[1], "r"); - $content = fread($handler, filesize($argv[1])); - fclose($handler); - $content = $parsedown - ->setBreaksEnabled(true) - ->text($content); - if(file_exists($argv[2])){ - echo "The file $argv[2] already exists.\nDo you want to override it? (Y)es / (N)o "; - $answer = trim(fgets(STDIN)); - if(in_array($answer, array("y","yes","Yes","YES","Y"))) { - $whandler = fopen($argv[2], "w+"); - if(substr_compare($argv[2], ".html", -5) == 0){ - $content = $htmlbegin . $content . $htmlend; - } - if(fwrite($whandler, $content)){ - echo "File sucessfully written."; - } else { - echo "An error occured."; - } - fclose($whandler); - } else { - echo "File not changed."; - } - } else { - $whandler = fopen($argv[2], "x"); - if(substr_compare($argv[2], ".html", -5) == 0){ - $content = $htmlbegin . $content . $htmlend; - } - if(fwrite($whandler, $content)){ - echo "HTML file sucessfully written."; - } else { - echo "An error occured."; - } - fclose($whandler); - } - } - } else { - echo "The output file is neither a HTML file nor a TXT file."; - } - } else { - echo "This is not a Markdown file!"; - } -} elseif(isset($argv[1])){ - if(in_array($argv[1], array("--help","-h","-?","--usage","-u"))) { - echo $usage; - } else { - if(substr_compare($argv[1], ".md", -3) == 0){ - if(file_exists($argv[1])){ - $handler = fopen($argv[1], "r"); - $content = fread($handler, filesize($argv[1])); - fclose($handler); - echo $parsedown - ->setBreaksEnabled(true) - ->text($content); - } else { - echo "The given file doesn't exist."; - } - } else { - echo "This is not a Markdown file!"; - } - } -} -echo "\n"; diff --git a/md2html/src/strings.php b/md2html/src/strings.php deleted file mode 100644 index 65b230e..0000000 --- a/md2html/src/strings.php +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - -"; - -$htmlend = -" - - -"; diff --git a/pblog2rangitaki/LICENSE b/pblog2rangitaki/LICENSE deleted file mode 100644 index 7ba963c..0000000 --- a/pblog2rangitaki/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -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. diff --git a/pblog2rangitaki/README.md b/pblog2rangitaki/README.md deleted file mode 100644 index b404a11..0000000 --- a/pblog2rangitaki/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# pblog2rangitaki - -This is a small script which converts pBlog/Rangitaki 0.2.x XML files into Rangitaki blog posts - -## Usage - -You don't need to install this script on your computer, it's enough to make it executable: - -``` -chmod +x pblog2rangitaki.php -``` - -Run it then: - -``` -./pblog2rangitaki.php posts.xml -``` - -Where `posts.xml` is your pBlog/Rangitaki 0.2 XML file. - -The Rangitaki blog posts are saved in `articles/` - -**The `` tag is not supported.** - -## HHVM - -This script works also in HHVM. Just replace the first line with - -``` -#!/bin/hhvm -``` diff --git a/pblog2rangitaki/pblog2rangitaki.php b/pblog2rangitaki/pblog2rangitaki.php deleted file mode 100755 index 059b512..0000000 --- a/pblog2rangitaki/pblog2rangitaki.php +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/php -post as $entry) { - // TITLE - $title = $entry->title; - - // CONTENT - $content = $entry->content; - - // Pubdate - $pubdate = $entry->pubdate; - date_default_timezone_set("UTC"); - $pubdate = date("d F Y", strtotime($pubdate)); - - - - // FILENAME - $date = $entry->pubdate; - $date = date("Y-m-d-H-i", strtotime($date)); - $filetitle = str_replace(" ", "-", $title); - $filename = $date . "-" . $filetitle . ".md"; - - if(isset($entry->mainlink)){ - $filecontent = <<mainlink]($entry->mainurl) -EOD; - } else { - $filecontent = << tag are not supported. - -EOD; - - echo $help; -} diff --git a/svn-log-count/LICENSE b/svn-log-count/LICENSE deleted file mode 100644 index f45a93e..0000000 --- a/svn-log-count/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -COPYRIGHT (c) 2017 Marcel Kapfer - -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. diff --git a/svn-log-count/README.md b/svn-log-count/README.md deleted file mode 100644 index 803c732..0000000 --- a/svn-log-count/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# SVN Log Count - -This is a small script for printing the amount of commits in a SVN repository in sum and by year. - -## Usage - -Download script in an SVN repo, make it executable with - -``` -chmod +x svn-log-count.sh -``` - -and execute it with - -``` -./svn-log-count.sh -``` \ No newline at end of file diff --git a/svn-log-count/svn-log-count.sh b/svn-log-count/svn-log-count.sh deleted file mode 100755 index 5daa32c..0000000 --- a/svn-log-count/svn-log-count.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -dates=$(svn log | grep "^r" | grep "|" | cut -d'|' -f3 | cut -d' ' -f2) - -# get total amount of commits - -echo "Sum: $(echo "$dates" | wc -l)" - -# get first year - -for curyear in $(echo "$dates" | cut -d'-' -f1); do - if [[ -z $year ]]; then - year=$curyear - fi - if [[ $curyear -lt $year ]]; then - year=$curyear - fi -done - -echo "First Commit (Year): $year" - - -# get amount of commits per year - -while [[ $year -le $(date +"%Y") ]]; do - echo "Sum for $year: $(echo "$dates" | grep "^$year" | wc -l)" - year=$((year+1)) -done -