A Tumblr Theme parser in PHP.

v0.6.0 2017-06-05 12:44 UTC


A Tumblr Theme parser in PHP.

Tired of getting sick of Tumblr's online HTML editor for custom themes? With Tumblr Parser you can edit a theme in your favourite HTML editor and render the output in your browser on your own/local server. So you can create themes for Tumblr without editing the HTML in Tumblr's online HTML editor.

Project Outlines

The project outlines as described in my blog post about Open Source Software Collaboration.

  • The main purpose of this software is to simulate the Tumblr online editor to provide a developer friendly environment.
  • The features should not go beyond the features and functions Tumblr is providing. So the feature-set is kind of restricted what could be possible in the future. But still, feel free to request features.


The preferred method of installation is via Packagist and Composer. Run the following command to install the package and add it as a requirement to composer.json:

composer.phar require "thefox/tumblr-parser=~0.5"

Get started

To get started first look into the example.php in the example directory. There are several ways to use this tool. You can generate a whole weblog or just a single post. You can do this in your browser or in background in your shell.


See example in example directory.

Tumblr Custom Theme Implementation

Basic Variables [incomplete]

  • {Title}
  • {Description}
  • {CustomCSS}
  • {block:PermalinkPage}
  • {block:IndexPage}
  • {block:PostTitle}, {PostTitle}

Navigation [incomplete]

  • {block:Pagination}
  • {block:PreviousPage}
  • {block:NextPage}
  • {PreviousPage}
  • {NextPage}
  • {CurrentPage}
  • {TotalPages}
  • {block:AskEnabled}
  • {AskLabel}
  • {block:HasPages}
  • {block:Pages}
  • {URL}
  • {Label}

Posts [incomplete]

  • {block:Posts}
  • {block:Text}
  • {block:Link}
  • {block:Photo}
  • {block:Photoset}
  • {Permalink}
  • {PostID}

Text Posts [complete]

Photo Posts [incomplete]

  • {PhotoAlt}
  • {block:Caption}
  • {Caption}
  • {block:LinkURL}
  • {LinkURL}
  • {LinkOpenTag}
  • {LinkCloseTag}
  • {PhotoURL-500}

Photoset Posts [incomplete]

  • {block:Caption}
  • {Caption}
  • {block:Photos}

Quote Posts [complete]

Link Posts [incomplete]

  • {URL}
  • {Name}
  • {Target}
  • {block:Description}
  • {Description}

Chat Posts [complete]

Answer Posts [incomplete]

  • {Question}
  • {Answer}
  • {Asker}

Dates [incomplete]

  • {block:Date}
  • {DayOfMonth}
  • {DayOfMonthWithZero}
  • {DayOfWeek}
  • {ShortDayOfWeek}
  • {DayOfWeekNumber}
  • {DayOfMonthSuffix}
  • {DayOfYear}
  • {WeekOfYear}
  • {Month}
  • {ShortMonth}
  • {MonthNumber}
  • {MonthNumberWithZero}
  • {Year}
  • {ShortYear}
  • {AmPm}
  • {CapitalAmPm}
  • {12Hour}
  • {24Hour}
  • {12HourWithZero}
  • {24HourWithZero}
  • {Minutes}
  • {Seconds}
  • {Timestamp}

Notes [incomplete]

  • {block:PostNotes}
  • {PostNotes}
  • {NoteCount}
  • {NoteCountWithLabel}

Tags [incomplete]

  • {block:HasTags}
  • {block:Tags}
  • {Tag}
  • {TagURL}

Like and Reblog buttons [incomplete]

  • {LikeButton}
  • {NoteCount}

Theme Options [incomplete]

  • Enabling Booleans [complete]
  • Enabling Custom Text [complete]


You're welcome to contribute to this project. Fork this project at You should read GitHub's How to Fork a Repo.



Copyright (C) 2014 Christian Mayer

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