š [Via The Simpsons]
Roses are #FF0000
Violets are #0000FF
Iām in physics and Iāve turned into a nerd
Margaret Hamilton (b. 1936) is a computer scientist and engineer who, as Director of the Software Engineering Division of the MIT Instrumentation Laboratory, played an important part in the Apollo space programme. Her division was responsible for developing the onboard flight software for the missions that put the first men on the Moon, and she was the supervisor and lead programmer of the project.
She graduated with a degree in abstract mathematics, during a time when computer science and software engineering were not yet disciplines in their own right. She worked for the SAGE Project, used by the military in aircraft defense. Since 1986 she has been the CEO of Hamilton Technologies, an organization which she founded.
āSomeone special I knew wrote, āThe price we pay for living full authentic lives is occasionally having our hearts broken.ā I think that thatās true. Pain isnāt beautiful or poignant, but sometimes, if you can get through it, it contextualizes what comes later. A year is a short time. You never think that thatās long enough to substantially change what youāre capable of doing, but what you choose to do every day eventually shapes who you are. A year ago, as much as I loved tech, I wasnāt sure Iād ever want to be in engineering or study computer science. Since then, Iāve learned six programming languages, taken seven CS classes, and worked on twenty-odd personal projects. Thereās nothing intrinsically meaningful about a GitHub streak, but, somewhere along the way, I started remembering what it felt like to be myself.ā
holy smokes. #GOALS
Iām tearing up and inspired. This is amazing.
a really excellent way to reduce anxiety is to pick up a new hobby. find something youāre interested in, learn it, then use it as a healthy and productive way to cope.
learn to play guitar
learn how to make interactive stories with the free program Twine
learn how to make pixel art
learn another language
learn how to build a ship in a bottle
learn how to develop your own film
learn how to embroider
learn how to make chiptunes (8-bit music)
learn how to make origami (the art of paper folding)
learn how to make tumblr themes
learn how to make jewelryĀ
learn how to make candy
learn how to make terrariums
learn how to make your own perfume
learn how to make your own tea
learn how to build birdhouses
learn how to read tarot cards
learn how to make zines
learn how to code
learn how to whittle (wood carving)
learn how to make candles
learn how to make clay figurines
learn how to knit scarves
learn how to become an amateur astronomer
learn some yoyo tricks
learn how to start a collection
learn how to start body building
learn how to edit wikipedia articles
learn how to decorate iphone cases
learn how to do freelance writing
learn how to make your own cards and
learn how to make your own envelopes
learn how to play the ukuleleĀ
learn how to make gifs
learn how to play chess
learn how to juggle
learn how to guerrilla garden
learn how to chart your family history
learn how to keep chickens
learn how to do yoga
learn how to do magic tricks
learn how to raise and breed butterflies
learn how to play dungeons & dragons
learn how to skateboard
learn how to do parkour
learn how to surf
learn how to arrange flowers
learn how to make stuffed animals
when my computer decides to deny me access because of āadmin restrictionsā
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.Ā
I work in a walk-in tutor lab at my university and one of the other tutors showed me this a couple years back and it has changed my life.
First, you make a table that looks like this.
Then, go ahead and add in some nice denominators of 2 in every entry in the table.
Then give yourself some nice square roots on the numerators.
Alright ā now weāre going to fill it in. The only value you have to remember is that sin(0)=0. So we put 0 in the numerator for 0 in the sine column. Then we just count up as we move down.
Then we do the opposite in the cosine column.
Then we simplify!
And voila ā a beautiful unit circle table.Ā
Full-time Computer Science student, reader, and gamer with a comics addiction.
121 posts