Fun with fonts and CSS

I wanted to use Blackout for the style in the Tower of Shadows game I am running. I played around in Inkscape for a bit, putting different filters on it, but then decided that I would rather not rely on images to employ it.

I thought I recalled something in the Twenty Eleven theme where the article element was getting classes applied based on tags, among others. So I looked at the source and found this neat code in the page:

[html]
<article id="post-2132" class="post-2132 post type-post status-publish format-standard hentry category-gaming tag-old-school-hack tag-orthos tag-rpg tag-tower-of-shadows">
<header class="entry-header">
<h1 class="entry-title">Tower of Shadows</h1>
[/html]

One can do all kinds of fun things based on those classes. For instance, it has the format, so you can adjust how a standard post looks, as opposed to a gallery, or video. The part I was looking for was tag-tower-of-shawdows.

The next step was to find a plugin that would add stylesheets to the site without having to edit my theme. First of all, I don’t want to create a child theme, since I normally change up to the next default theme each year (waiting for Twenty Twelve!). Secondly, I want my CSS to stick, even if I change themes (though it may have to be adjusted, if the theme template doesn’t give me the same classes to work with.

Anyhow, I went with Improved Simpler CSS. It works on multi-blog instances of WordPress, but works fine on a single-blog instance just as well. With it, I added the following CSS to my site:

[css]
@font-face {
font-family: BlackoutMidnight;
src: url(‘/files/blackout-midnight.ttf’);
}

.tag-tower-of-shadows .entry-title {
font-family: BlackoutMidnight,"Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 40px;
}
[/css]

Now, any post that is tagged as “Tower of Shadows” (check it out), the title will attempt to use BlackoutMidnight as the rendered typeface.

I plan on doing a lot more with this, by adding my own classes, and applying them to interesting parts of the game, as well as character stats, for easy identification when scanning combat logs. Oh, the creativity that comes from gaming!

One thing that would be useful is if I could attach specific stylesheets conditionally, such as to any post that has a given tag. There were plugins that claimed to do that, but I wanted someone really simple, and I don’t think the additional overhead is that big of a deal, for right now.

So, anyone know of any typefaces that would be really cool for “sound effects”? Stuff like, “Boom!”, “Magic Effect!”, and “ZOMG FACE HIT!”. They would need to be released under the Open Font License or something similar. ^_^

Theming licenses

I am in a kind of odd spot with a project I want to do. The idea is to create a unified theming system for the different software that my site is composed of. I say system, because some of the software is more complex than the others, but really I just want to output the same HTML (as much as possible) using each template engine, and then apply the style-sheets and whatever other enhancements I can figure out.

The first wall I come to is how I would license it, because I do plan to distribute it. My difficulty comes because I want it to be consistent, but each of the software projects involved are released under different licenses: DokuWiki (GPLv2; license FAQ), Drupal (GPLv2 or later, license FAQ), StatusNet (AGPLv3) and WordPress (GPLv2 or later, clarification in licensing language).

Huh, I hadn’t caught the change in WordPress going from GPL to GPLv2 or later at the time.

I want to figure this out for myself, but also to clarify how “GPLv2 or later” works.

First scenario, if DokuWiki (or rather, GPLv2) were excluded, I could release a theme under the AGPLv3 and it would be compatible with Drupal and WordPress because it is compatible with GPLv3 (and obviously it is compatible with itself, in StatusNet’s case).

Second scenario, including GPLv2, I can release it under a dual-license of GPLv2/AGPLv3, which while kinda defeats the purpose of the AGPL, allows the theme to be licensed depending on the software that it is for. Hmmm, this made more sense in my head, but now it is just a pain in the ass.

Okay, smart people who I know are not lawyers providing me with legal advice, can you give me some feedback on how to best do this? I personally don’t think that having the theme as AGPL is essential, since I don’t plan on doing anything interesting with the code that is not related to styling, and I don’t think that styling has to be shared with visitors to a site. However, I like the AGPL, and start there when choosing a license. My point is, I am open to discussion, and would like to know what options there are.

Please reply in the comments here, or ping me on my slice of the social web.

Post script: I should note that I left out the non-code license issue aside, in hopes that it would simplify this. I will likely license the rest of it as CC-BY or CC-BY-SA, if that means anything to this discussion.

A new project

I like to announce things, because then I forget about them, or feel pressure to do them. So, here is my new project summary.

A website. GASP!

Specifically, a website that will live as part of the applications that make up my interi complex. The thing is, I pretty much want to put everything I know into a database. When you get information in tables, you can do all kinds of neat stuff with it. Sometimes I get paid to do these neat things, and during those times I do a lot of experimentation to figure out the best way to present the data. This is an extension of that experimentation, a fun way to document my methods and to try out new ideas.

This particular database and website combo will have a few things going for it, so I will list out the key points.

  • Drupal 7 – D7 just went beta, which means it is good enough for me. I make my living by Drupal now, so to be cutting edge, and to take advantage of the new features, I am going to use it for this sub-site.
  • HTML5 – Whenever possible, I am going to use the latest features allowed from HTML5. That means using the video and audio elements, maybe a little canvas action. Additionally, I am not going out of my way to make it “back-compatible”. This is a personal project, so IE9 users are not my target audience.
  • CSS3 – I am going to be a little bit more careful with this, but I am still going to push the envelope. Rounded corners aren’t my cup of tea, but the multi-column features are pretty neat.
  • Visualization – I’ve had an increasing interest in data visualization (no doubt do to a certain sword-swallowing academic). Using the above technologies and standards, I want to do some creative work in this area.
  • Libre – I am on the fence as to whether I will license it under Share-Alike, or just Attribution, but of course everything I do is released under a Creative Commons license.
  • Portability – It is no fun to create something and keep it to myself, so in addition to the data being licensed, the code will be available as well. This is also an exercise in really internalizing Features.
  • Design – I want something to actually design, since I am out of practice of designing from the beginning (I often come into a design project to polish it for delivery). I expect to do a lot with the HTML5 and CSS3, and I’ve had my eye on a few typefaces and other designs for a while. It should be rather expressive.

So, there it is in a nutshell. A few ideas for data that I want to collect are things like my media consumption, or the different teas I drink. I think it would be great to chart these things, as well as provide an easy index of information for people with similar interest.

I will, of course, be gabbing about it as it develops. Stay tuned. ^_^