A Quick Start


This is basically phile. I have added things specific to my changes for my system. This documentation is mostly for myself, but feel free to do what you want with it.

Installing | Content | Page Data | Variables | Markup | Templates | Plugins

Installing

Just follow the basic installation instructions. The only error I ran into was #1 and #2. You may not have those problems.

  1. I had an error with one of the openssl_random_pseudo_bytes functions in Utility.php. This is how I solved it.

  2. The pesky "setup" function of phile. If you run into a "setup" page issue, see my notes

  3. Copy a bunch of existing markdown files to the content folder. Make sure you add at minimum the title meta tag to the top of each file. Phile works great.

  4. Set up a Blog in less than 5 minutes.

  5. Wanted to run multiple sites from one core installation folder. Setup Modifications has complete instructions.

Content top

Content is same as Phile. All filenames have an extension of .md. I used several subfolders for each section of my writings; blog, docs, plugins, other stuff. Currently there are about 200 content files and about 200 images.

Got lots of existing files and want to see them immediately? Phile requires your markdown to have the meta data section. However, you can use this simple plugin and then drop your existing markdown files without any meta sections.

Meta Data top

The header META section is same as phile. I added several plugins that utilize additional meta. You don't need these to get phile running, but I wanted them.

  • The biggie for me is hierarchical meta. This allows me to just put meta on the index page of a subfolder and have it applied to all pages in the folder and its subfolders.
  • The second meta function i do is to internally change all meta that includes the word date into a php timestamp. This gives me better sorting, and allows the page meta to be set in any valid textual date format on different pages. So even dates with different formats will still sort correctly.
  • Add a title if title does not exist
  • Add filename to the meta

See these plugins:

Config/Settings and Variables top

Phile allows you to put certain config variables and the meta directly into your content. I wanted to enable automatically allowing any of the meta to be available in the content. Also have to be able to escape the variable names so they can be used in code blocks. I did this in the plugin JacContentVariables. My method is not as elegant as the method provided in the official phile plugin that does a similar thing! I am writing plugins to learn how to write plugins.

You can also see what my config phile looks like.

Markup top

Markup is primarily using Markdown Extra provided in phile. I created several plugins to add additional markup.

  • Shortcode Framework: Adds the ability to use shortcodes markup similar to WordPress style shortcodes. Smarter people could probably find a more phile like way to do this. But t was quick and dirty and works.
  • Include any other content file in the current content file. This is a shortcode markup.
  • Create a listing of files meeting a certain criteria and output the results using a twig template. This is a shortcode markup. All the index pages on this site use the shortcode. Also the lists at the footer of this web page.
  • A basic image gallery using a shortcode markup
  • An amazon ASIN link using a shortcode.
  • A MATHJAX enableing on pages.

Theme, Layouts, Templates top

Just the basic file layouts/templates. Here are some things I did. None required core changes.

  • Simple theme switcher using sessions. Useful for testing different themes on the same content.
  • Implemented zones in the template. A zone is simply a portion of the page (i.e. sidebar, bottom) that gets its content from a markdown content page. See the plugin JacZones
  • Experimenting with a directory tree from wikitten. See the plugin JacWikitten.

Plugins top

In addition to the plugins described above for meta data and markups, I am using a few more for authorization (login/logout), editing content files, and viewing the page sources. See the Plugins page for all the plugins.

Download top

I provide a download zip of all the plugins. DO NOT USE THEM. OR USE THEM AT YOUR OWN RISK.