“How’s that essay going?”
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):
W3Schools HTML
W3Schools CSS
Tumblr Theme document
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:
[click for larger view]
Here is a coding for text that is inside a div layer:
[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:
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.
[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:
<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”…
{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…
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:
[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:
[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.
[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.
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.
[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.
The only thing that’d be more potentially embarrassing than my internet history would be my calculator history, a chronicle of all the painfully simple math I couldn’t manage to do in my head.
Allow yourself to be a beginner. No-one starts off being excellent.
Unknown (via onlinecounsellingcollege)
Recently, I read a research paper by Professor Manu Prakash from Stanford who has been working on a computer that works on fluid droplets and it is extremely fascinating.
Inspiration: The computers that we have at our home are capable of manipulating Information, but they cannot manipulate Physical matter per se! Ergo, build a device that could process both information and physical matter simultaneously.
The setup is actually relatively simple to understand but the working is a bit tricky. They use a ferrofluid as the droplet and control the way it behaves with a circular magnetic field.
Through the coupling of magnetic and hydrodynamic interaction forces between droplets, AND,OR,XOR,NOT and NAND logic gates, fanouts, full adder, a flip flop and a finite state machine is implemented.
If this is the sort of thing that you are interested in, I strongly recommend you read their paper.
“We already have digital computers to process information. Our goal is not to compete with electronic computers or to operate word processors on this,”
Prakash said. “Our goal is to build a completely new class of computers that can precisely control and manipulate physical matter. Imagine if when you run a set of computations that not only information is processed but physical matter is algorithmically manipulated as well. We have just made this possible at the mesoscale.”
Have a great day!
- part of ‘Fluid Friday’ series
my favorite out of context quotes from my archeology professor so far in no particular order
and floridians are just as human as you and me!
and the moral of the story is that there are no deadly snakes native to alaska
you might know this guy as one of the only archaeologists cool enough to be mentioned by indiana jones
it’s my dream to have my name said by harrison ford
i’m not going to apologize for having this class at 6am because you paid for it and it’s your fault.
we don’t all dress like lara croft. i tried to get it to be a thing on a dig and my colleagues yelled at me.
they were pretty good archaeologists except they were too racist to realize anything they found.
i take back what i said about us not dressing like lara croft because lewis binford here is wearing nothing but short shorts and a cowboy hat. take notes for an academic halloween costume!
archaeologists can be good artists! not me, though. or anyone i know. but if you can draw just know you have options.
sometimes you find dead bodies when you dont really expect it and you just have to deal with it
archaeologists are the only people allowed to get exited when they find corpses.
once i ruined thanksgiving dinner when i told my family i had gotten my degree in archaeology and my uncle commented he liked dinosaurs too
the closest i’ve ever been to a grizzly bear is when i left my glasses in my tent on a dig in alaska, saw a big rock in the distance, and almost screamed
I can’t wait to be at a point in my career where I can look back at this exact moment & think “idk why you were stressing about not being enough… you good fam”
The thing about computer programming is that it’s a complete pain in the ass when you’re trying to figure out the problem, yet when you finally solve it, when you finally have that aha moment, the feeling of accomplishment is unlike anything you’ve felt when you’ve accomplished something. You think holy shit, I can make technology work, and that feeling is totally worth the long stretch of hours or even days when computer programming feels like a pain in the ass.
Full-time Computer Science student, reader, and gamer with a comics addiction.
121 posts