vagaries & carapaces

How To Make Tumblr Themes: Part I

ettudis:

Introduction

What we will cover in this tutorial:

  • HTML review (bare minimum you need to make a basic theme)
  • CSS review (bare minimum you need to make a basic theme)
  • Meta Tags
  • Other <Head> codes 

Documents and websites we will consult regularly in this tutorial (keep these open in a tab):

HTML Review

Before making a theme, you should know that HTML consists of tags (keywords surrounded by angular brackets like <html>) and that they come in pairs (opening and closing like <html> and </html>).

You should also already know basic HTML elements such as links, headings, paragraphs, lists, formatting and images. If not, please learn it at the website I provided. 

The most common way to group and position things in a website layout is to use div layers or tables. In this basic theme tutorial, I will cover div layers first since it is easiest to understand. 

Here is a coding for text that is NOT inside a div layer:

image

[click for larger view]

Here is a coding for text that is inside a div layer:

image


[click for larger view]

Also notice that I used CSS to dictate the width and background of the div layer. That is how CSS and HTMl is connected; you can use CSS to demand HTML elements to look and be positioned a certain way. So in order to make columns in tumblr themes, you use CSS to position and “decorate” the div layer which will wrap your columns (ie: posts, sidebar etc).

CSS Review

In relation to what we’ve discussed above, CSS commands HTML elements. So you need to be very familiar with CSS. CSS is the codes between the <style type=”text/css”> and </style> tags (as can be seen in the previous image). In this tutorial, I will use the following terminology:

image

Now, div layers can either be id-ed or class-ed. The id selector is generally used for a single unique element while the class selector is used for a group of elements.   While there is that difference, I discovered it doesn’t matter. You can use id selectors for multiple/repeated layers. 

image

[click for larger view]

In the above, the selector for id is preceded by a “#” (outlined in pink) and the selector for the class is preceded by a “.” (outline in blue). Now, you can use basic CSS properties to specify the position, dimension and style of the layer. 

You will need to know 90% of the properties described on this site; particularly background, color, fonts, links, text, margin, padding, z-index, position, display, dimensions and borders. Since it is too much for me to cover them all, please review/learn them before proceeding. 

Getting started

Now we’ve gone over the idea of how HTML and CSS will be needed, we can apply it to tumblr themes. So, we start with our basic HTML tags for any basic webpage:

image

<title></title> is where you specify the title of the blog which will show up on the browser tabs. Looking at the basic variables section of the custom tumblr theme document, you can see {Title} and {block:PostTitle}{PostTitle}{/block:PostTitle}.

{Title} is a “variable” which corresponds to the blog title (which you customize in the customization page). For example, my theme blog title is “ettudis”…

image

{block:PostTitle}{PostTitle}{/block:PostTitle} corresponds to the title of the post (of the individual posts). The “blocks”, {block:PostTitle} and {/block:PostTitle}, renders so that the post title shows up only when there is a post title (in other words, when you go to the individual post page. For example, the title of my “terms of use” post…

image

Generally, it is set up so the it’s the {title} followed by a dash, then {block:PostTitle}{PostTitle}{/block:PostTitle}. So, it will look something like this:

<title>{Title} - {block:PostTitle}{PostTitle}{/block:PostTitle}</title>

We also can add in favicons. To make the favicon the same as the blogger’s userpic/profile icon, we can just link to {Favicon}, like so:

<link rel="shortcut icon" href="{Favicon}" /> 

Meta Tags

The meta tags in tumblr themes are what allows the bloggers to customize the themes colours, upload images, select options, add links etc, as described in the appearance options. Then, you can line up the meta tags to the HTML or CSS.

For colours, it will look something like this:

image

[click for larger view]

As you can see, the colours in the meta tags can correspond to the HTML or CSS. So the default colours (indicated in the meta tags, ie: #FFFFFF, #000000 etc) are what the colours are if the blogger reset to defaults. If the blogger decides to customize to his/her own colours, the colour he/she chooses will correspond and fill into the HTML or CSS in the live preview. 

For custom fonts, it will look similar to:

image

[click for larger view]

Similar to colours, the meta tags correspond to CSS (or HTML). However, tumblr only provides a few custom fonts (ex: arial, georgia, impact, courier new, helvetica, tahoma, trebuchet ms, times new roman etc) that are selected via a drop-down menu on the customization page.

Now booleans are rather important in tumblr themes. These meta tags allow the bloggers to select an option.

image

[click for larger view]

In this, the option is whether or not “if infinite scrolling” should be on the blog. The meta content is “1” if there is infinite scrolling as default. If infinite scrolling is not default, it meta content should be “0”.

Outlined in orange, {block:ifinfinitescrolling} and {/block:ifinfinitescrolling} wraps around the HTML (or CSS) that will be activated if the blogger decides to select the infinite scrolling option. If not, then the HTML (or CSS) in {block:ifnotinfinitescrolling} and {/block:ifnotinfinitescrolling} will be activated. 

Booleans can apply to anything, such as whether or not to show tags on index page, size of post, number of columns, show side image ~ whatever your imagination allows you!

On this note, this sort-of gives you the idea of how tumblr codes work. The “blocks” act as activators for a certain code that it contains. Remember they always come in pairs as well, an open and closed one.

In the above example, you can see that there are the blocks, {block:Pagination} and {/block:Pagination}. This means that the codes inside these blocks will only show if there are actual pages; so in an individual post page, the pages will not show up.

Another meta tags are text. You can allow bloggers to enter their custom text into a theme. You can do a lot with text, you can also use it as an input for CSS hex numbers, dimensions (they would enter pixels), labels etc etc. 

image

In this particular example, I’ve used custom text as a way for bloggers to enter links. The blocks (in pink), as I’ve explained previously, act as activators for when the bloggers do enter a URL in the “link 1” meta tag (outlined in blue). 

Tumblr also allows bloggers to upload images. So bloggers can upload their own background or other images they want (that you specify) into their theme. 

image

[click for larger view]

Shown here, you can see that the meta tag for the background image dictates the CSS body selector (outlined in orange).  In the content, you can insert an image (“http://static.tumblr.com/…”) as a default image. 

As for the sidebar image meta tag, it uploads the image into the HTML. Blocks (shown in pink) can also be used in case the blogger does not want to upload an image (or if an image is not uploaded, an alternate coding can be shown). 

Other <head> codes

You can also insert a {CustomCSS} block at the bottom of the theme’s CSS style block (before </style>) so that bloggers can insert their own CSS if they want to. 

There is also a meta tag that is involved in search engines. 

{block:Description}<meta name="description" content="{MetaDescription}" />{/block:Description}

This allows the description of the blog to show up if the blog is searched on the a search engine (such as google). 

And that’s all I have to say about meta tags which is crucial if you plan to make themes for the public use. 

Key Points

To clarify and emphasize, the terms, “variable” and “blocks” are what makes up the tumblr theme. Variables are used to insert dynamic data. As we’ve seen in previous example, {Title} is a variable and so are {Image:Sidebar}, {Color:Background}, {Text:Link 1} and so forth. They come in singles, meaning, you do not need to close them. 

Blocks are used to render (activate) a block of HTML, CSS, or a set of data. As we’ve seen in previous examples, {block:Title} and {/block:Title} are blocks, and so are {block:ifinfinitescrolling} and {/block:ifinfinitescrolling}, {block:iflink1} and {/block:iflink1}, and {block:ifnotsidebarimage} and {/block:ifnotsidebarimage}. These come in pairs, meaning, you do need to close them similar as to you would close a HTML tag.

The meta tags allow users to customize the theme without editing the HTML/CSS themselves. They only have to customize via the Appearance section on the customization page. We’ve covered all the meta tags that tumblr has: colours, fonts, booleans, text and images. Every meta tag can correspond to a HTML/CSS component. So using HTML and CSS, you can specify the look of a certain variable and meta tags can give customization options for the HTML and CSS.

The End

I think I’ve covered all the basic ideas of what tumblr themes need in order to work. Though this tutorial was more of introduction on just the fundamental foundations of what we’re going to build, next tutorial will get into constructing the tumblr theme using variables, blocks, CSS and HTML.

I hope I was clear, concise and thorough in my explanations. If I missed anything or if something wasn’t clear, please let me know as all of this sort-of comes to me naturally now so I wouldn’t know if I was being abstruse or convoluted. 

仿似心灵愈合

First novel of 2013. Starting off the year with something light.

Another year, another twelve months of convincing myself that I can read as much as I like, if only I put my mind to it. (H a h) I have probably read as much online fiction as I have published ones last year, if not more, and I guess I really shouldn&#8217;t dismiss that. A piece of fiction is important to me as long as it had some impact.
So I don&#8217;t know what&#8217;s it going to be this year. I haven&#8217;t even written out my new year&#8217;s resolutions yet and January is almost over. What do I hope to get out of reading this year?
Don&#8217;t feel obligated to read all those books that have been on my numerous to-read lists simply because they are &#8220;classics&#8221;
Learn to read and appreciate poetry
Read the books in my possession ((ugh srsly stop letting them gather dust))
Jeanette Winterson, Chuck Palahniuk, Michael Ondaatje, Margaret Atwood
多读点中文(小说,散文,王道什么的都可以)
Surpass my tally for last year (14)

Another year, another twelve months of convincing myself that I can read as much as I like, if only I put my mind to it. (H a h) I have probably read as much online fiction as I have published ones last year, if not more, and I guess I really shouldn’t dismiss that. A piece of fiction is important to me as long as it had some impact.

So I don’t know what’s it going to be this year. I haven’t even written out my new year’s resolutions yet and January is almost over. What do I hope to get out of reading this year?

  • Don’t feel obligated to read all those books that have been on my numerous to-read lists simply because they are “classics”
  • Learn to read and appreciate poetry
  • Read the books in my possession ((ugh srsly stop letting them gather dust))
  • Jeanette Winterson, Chuck Palahniuk, Michael Ondaatje, Margaret Atwood
  • 多读点中文(小说,散文,王道什么的都可以)
  • Surpass my tally for last year (14)

wasn’t expecting much and there weren’t that many highlights, but at least it was an easy read? it’s alright enough for me to want to borrow the sequel, even though i vaguely remember watching the movie adaptation.

read this in pretty much one sitting this afternoon because i overslept for uni and hiding out in my local library seemed like a great idea. i was really anxious about the last part because having read the other boleyn girl, i wasn’t sure whether this book was going to end on a good note while catalina was still in power or let it all go downhill.

More Information