Introspect

January 17, 2017 | PROFESSIONAL

Great ex-SPECT-ations

A statement of intent and principles for my new blog-and-website generator, Spect.

Introducing Spect, Part 3

Spect is a Python-based static website generator and blogging engine. The program is still at a way early alpha development stage, but it is working enough to begin using for this website. In the long run, I hope that it becomes practical for others to use it as well, because, clearly what the world needs most is new ways to make blogs.

I am working this all out on GitHub, which I’m still just learning to use alongside of learning Python.

As of this writing, Spect can generate blog posts like this from MarkDown files, track categories and tags (including sitewide tags, importing tag dictionaries from non-blog sections), upload new content to a server, and generate certain pages. I have a lot more in mind – there is a roadmap at the GitHub repository where I’ll try to post updates. But progress may be slow now that I have the basic framework in place and can get down to writing.

Some design considerations

In general, I hope to generate a website that looks contemporary and fresh and works intuitively, while avoiding a lot of extraneous garbage that clogs up so many existing options. Spect is focused on creating non-commercial, non-publicity-seeking sites that play nicely with others.

  • Spect is a static site generator. Since letting my old WordPress blogs decline, I have been wanting to put together a static site. They are all the rage, I hear. For me, the appeal of a static site is pretty obvious. I’m not trying to create some complicated dynamic site, and I like being able to look at the html and other code locally. Static sites are nice and secure and simple and NOBODY WILL EVER KNOW THE DIFFERENCE between a static page and one compiled dynamically on a server.
  • The web design is responsive. There will be no separate mobile and desktop sites. There will be no <⚡AMP> version. Just, you know, one slim page for all purposes. For a long time I resisted mobile-first design but now I am becoming comfortable with “whatever screen you got”-first design. I’m using Skeleton as a general framework for this website, but am open to exploring alternatives in the future. Ultimately the site layout and CSS design will be separated from Spect.
  • Spect will function as both a blog and a website. I want to have a functioning blog that fits in with the rest of my site. This is trickier than it should be; I need to include some site sections that require a bit of management but I don’t intend to roll out a whole CMS.
  • There will also be a Tumblr/Instagram analogue for posting images, screenshots, GIFs, vids, or whatever, without any particular context. An early version of this already functions as the ephemeral category of the blog.
  • Spect is going to include blog categories so that I can separate out professional and personal posts, highlighting professional stuff for the main page. I’m not a robot. I am not gonna talk exclusively about my job and coding, certainly not during the current political climate. Of course, you can’t always differentiate the personal and the professional. But I might keep my rhapsodic discussions of Queensrÿche to the personal side, a little less obvious to potential clients and employers.
  • I’m including archives sections for old websites I attempted to run in the past. This might also include exported dumps of social media accounts — at the least, I want to explore that functionality.
  • I want to make a site with little to no javascript. This is a pretty arbitrary. I mostly want to stick to learning one programming language at a time.

Some things I am agnostic about

  • Analytics and site statistics. Maybe at some point I will implement this but don’t really care about it.
  • Advertising. If I had a site that exploded in popularity and needed some revenue, maybe I would think about some non-intrusive ways to bring in a little scratch. Or not. Let’s hope I never reach that point.

An unresolved point

  • The current design includes some Google web fonts. I have mixed feelings about this. Google web fonts look good and make a lot of sense in that “everybody can cache this” way. But I have serious privacy concerns that are only partially alleviated by Google’s stated policies (see also). I will probably drop the Google fonts in a future design upgrade. But in the long run, this will have nothing to do with Spect.

Some lines I shall not cross

THINGS THAT WILL NEVER BE PART OF SPECT:

  • AUTOPLAY VIDEO “CONTENT”
  • SHARE THIS ON A BAZILLION SOCIAL MEDIA SITES” BUTTONS ON EVERY SINGLE BLANK SPACE
  • INSTANT POP UP BOX: “HEY THERE BEFORE I LET YOU READ THIS PAGE WOULD YOU LIKE TO SIGN UP FOR MY NEWSLETTER? No? Hang on a few more seconds while we close this popup box.”
    [That said, I am ok with the possibility of having a newsletter!]
  • A PHONE APP THAT IS EXACTLY THE SAME AS MY WEBSITE, ONLY IN APP FORM AND MORE ANNOYING, AND WHEN YOU GO TO A PAGE ON THE WEBSITE IT ASKS YOU IF YOU’D MAYBE LIKE TO DOWNLOAD THE APP
  • INFINITE SCROLL PAGES WHERE YOU SCROLL DOWN ALL THE WAY TO THE BOTTOM OF AN ARTICLE YOU’RE STILL READING — GOD FORBID! — AND THEN ANOTHER PAGE LOADS UNDERNEATH AND YOU LOSE YOUR PLACE SO YOU HAVE TO SCROLL BACK UP AND SEARCH FOR IT

So yeah, I have some opinions about web design too.