Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Tumblr Parser

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 require thefox/tumblr-parser

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.