Monday, August 31, 2015

The quick guide to getting started with Ghost

http://ift.tt/1O3ejeD

You’ve probably heard of Ghost, the new-ish blogging platform that’s taken the blogging world by storm; it’s simple, it’s sleek, it’s sexy; it’s got that live-preview thing. What’s not to like?

I’m moving to Ghost, like many web designers, from a WordPress background. But before I actually managed to wrap my head around WordPress’ template functions, I had tried dozens, possibly hundreds, of CMS options. Some of the more memorable include ExpressionEngine, Textpattern, the ill-fated FrogCMS, an old, old script called CuteNews, and many more.

For a long time WordPress gave me everything I needed: powerful template functions; an endless supply of plugins; just seeing what I could do.

But WordPress has been a heck of a lot more than a blogging engine for some time now. It’s moving steadily toward the realm of the framework in some ways. A publishing framework, if you will.

I’ve reached the point where I want software that blogs, and that’s it. I want to write my posts in Markdown, type in some keywords, add an image or two, and hit publish, then forget about the whole thing.

Enter Ghost

Turns out I’m not alone in my desire for a dead-simple blogging platform. The creators behind Ghost have gone to great lengths to strip out all of the cruft we’ve added to the blogging process, and build a simple, speedy publishing platform that will get the job done. It’s a whole different beast.

It operates on the philosophy that a CMS for blogging should do one thing, and do it well. You won’t see any magazines launched on this platform without a lot of customization. It’s a blog, and turning it into anything else would sort of defeat its purpose.

Then, there’s the fact that it’s built on new technologies. Ghost is built on Node.js, which executes JavaScript code on the server rather than in the browser. It is loved by the same people who love PaaS hosting, and all of these new systems that people like me are struggling to understand. In a sense, it’s been future-proofed from the get-go. It’s part of the first generation of a new breed of CMS.

Mind you, from the blogger’s perspective, it’s just a simple interface for blogging. From the end user’s perspective, nothing’s really changed except maybe the default blog theme looks a bit “flat”. But under the hood, we’re seeing something totally new, and that’s a good thing.

Installing Ghost (the easy way)

Installing Ghost the easy way.

Typically, you’d have to install a component or two separately to get Ghost installed and running on a local machine. You’d have to install Node.js, and then you’d have to go in and start installing some extra Node packages manually from the command line.

That’s right, the typical setup for Ghost requires using the command line. For people more used to WordPress’ “five-minute setup” process with MySQL databases and a graphical installer, this may be uncomfortable.

It could be a pain in the neck if you’re not used to using the command line on a Mac or Linux machine.

Luckily, the kind people over at Bitnami made graphical installers for Windows, Mac, and Linux.

Here are all of the steps you’ll need to follow:

  1. Download the appropriate installer for your OS here: http://ift.tt/1MXmtGP
  2. When you run the installer, provide the following information: where you want it installed, what login info you want to use for the blog, and what IP address you want to use for testing. (I recommend 127.0.0.1.)
  3. Run the thing, and start playing. It comes with a cool control panel, and a start menu entry.

Since the installer provides you with all of the components you’ll need, such as Node.js and a mini-server, the file directory is not exactly straightforward.

You’ll need to open up whatever folder you installed Ghost in, and then navigate to apps/ghost/htdocs/. That’s the actual Ghost installation.

The themes are located in apps/ghost/htdocs/content/themes/.

Making a theme for Ghost

Ghost themes are fairly easy to make, as long as you know HTML and CSS. Programming knowledge is helpful, but not strictly necessary. Ghost’s templating system is simple, and even rather intuitive, if you’ve built themes for WordP… ahem, other CMSs before.

I know, I know. The comparison to WordPress is old. But that one bit of software has dominated the market for years now — much like Photoshop has for images — the comparisons are inevitable. In this case, they’re even useful.

People who have built WordPress themes will find some of the file structure and templating language to be familiar, though much simpler. WordPress’ PHP functions give you a lot of flexibility; but they also complicate the theme coding process.

Ghost’s templating system (built with Handlebars), is semantic, powerful, and a lot more readable than the raw PHP functions that we’re used to working with. Personally, I just find it a lot easier to use.

On the other hand, it is meant purely for building blogs. You won’t be building a hybrid news site/social network/forum with this thing. Simpler, but limited. That’s the trade-off inherent in the entire platform.

Creating a basic theme for Ghost.

Setting up your theme

Now, if you’ve watched the video (you really should), you’ll know the very basics. You’ll have your Ghost installation in development mode, and you’ll have a very, very limited theme to work with.

To recap, technically you only need three files to make a Ghost theme:

index.hbs (This template will list your posts)
post.hbs (This will display a single post)
package.json (This contains theme information)

However, there are other basic templates that you probably want to include. You can, of course, create custom templates for pages, posts, authors, tags, and more. We’ll get to all of that over time.

For now, I want to focus on only the basics: theme structure, extending template files, and where to put all of the HTML. This means adding some extra files and folders to our Ghost theme up there. Let’s have a look at the revised structure:

default.hbs
index.hbs
page.hbs
post.hbs
package.json
assets/
    css/
    images/
    javascript/
partials/ (Just examples, here. Not required.)
    navigation.hbs
    loop.hbs

default.hbs will act as the basis of your theme. Your <html>, <head>, and <body> tags will go here. Every other template will be rendered ‘inside’ of this one. Now, you don’t have to do it this way; but it is standard practice, and comes highly recommended by the Ghost devs themselves.

page.hbs is exactly what you think it is, the template for static pages. The assets folder is fairly self-explanatory.

The partials/ folder is where you would keep bits and pieces of code that you use more than once, on various templates. For example, navigation.hbs might include your site name/logo and primary navigation. loop.hbs might output a list of posts with some generic HTML and styling. This could be used in a number of places on the site.

Mixing Handlebars and HTML

So let’s show you exactly how simple the templating can be. First, we’ll set up our default.hbs file:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />

    {{! Here we see the functions for page titles and descriptions. }}
    <title>{{meta_title}}</title>
    <meta name="description" content="{{meta_description}}" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    {{! Anything in the assets/ folder can be easily linked to, like so: }}
    <link rel="stylesheet" type="text/css" href="{{asset "css/style.css"}}" />

    {{! This function here outputs meta keywords, some styling information, stuff like that. }}
    {{ghost_head}}
</head>
<body class="{{body_class}}">
    <div class="wrap">
      {{! Any .hbs file in the partials folder can be called in like this. }}
      {{> header}}

      {{! This is where the content of all the sub-templates will be output. }}
      {{{body}}}

      {{! Like ghost_head, this outputs scripts, data, that sort of thing. Currently adds a link to jQuery by default. }}
      {{ghost_foot}}
    </div>
</body>
</html>

Now let’s create the navigation.hbs template, because that’s going to be on every page:

<header id="page-header">
    {{! This should be fairly self-explanatory. }}
    <h1>{{@blog.title}}</h1>
    
    <nav>
        <ul>
            {{! This function calls in the navigation links, which can be managed in the Ghost admin panel. Note that the template *must* be called "navigation.hbs" for this to work. }}
            {{#foreach navigation}}
                <li class="nav-{{slug}}{{#if current}} nav-current{{/if}}" role="presentation"><a href="{{url absolute="true"}}">{{label}}</a></li>
            {{/foreach}}
        </ul>
    </nav>
</header>

Now we create the loop to display excerpts of the posts. To be honest, I ripped this one (almost) straight from the default theme, because the markup is perfect for what I have in mind. Put all of this in partials/loop.hbs:

{{! Each post excerpt will be displayed with this same markup. }}
{{#foreach posts}}
    <article class="excerpt {{post_class}}">
        <header>
        <h2 class="post-title"><a href="{{url}}">{{{title}}}</a></h2>
        </header>
        <section>
            {{! The actual excerpt. Not the variable that allows you to call in exactly as many words as you want. }}
            <p>{{excerpt words="26"}} <a class="read-more" href="{{url}}">&raquo;</a></p>
        </section>
        <footer>
            {{! This is the post's meta information. }}
            {{author}}
            {{tags prefix=" on "}}
            <time class="post-date" datetime="{{date format='YYYY-MM-DD'}}">{{date format="DD MMMM YYYY"}}</time>
        </footer>
    </article>
{{/foreach}}

{{! Links to the next and previous pages of links. You can define how many links are on each page in the admin panel. }}
{{pagination}}

Now we’re going to tie it all together with the index.hbs template, which will also act as the home page, unless you specify otherwise. The code for this, seeing how we’ve divided and organized most of the HTML elsewhere, is very simple:

{{!< default}}
{{! That isn't a comment up there. It tells Ghost that everything on this page must be rendered inside the default.hbs template.}}

<section class="posts">
    {{! This next function can be used to call in anything in the partials/ folder. In this case, we're calling up everything we just put into "loop.hbs". }}
    {{> loop}}
</section>

Conclusion

And that’s it. Told you it was simple!

If you have trouble, check out Ghost’s default theme, and the documentation. Play with the HTML, play with the template system, and start styling your theme.

Next time, we’ll dig a little deeper. In the meantime, have fun!

 

Featured image uses Ghost image via Shutterstock.

Monoflat Icons: 297 High Quality Color Icons – only $17!

Source

Vía Webdesigner Depot http://ift.tt/1Evlpc1

Sunday, August 30, 2015

Popular design news of the week: August 24, 2015 – August 30, 2015

http://ift.tt/1EqCjIn

Every week users submit a lot of interesting stuff on our sister site Webdesigner News, highlighting great content from around the web that can be of interest to web designers. 

The best way to keep track of all the great stories and news being posted is simply to check out the Webdesigner News site, however, in case you missed some here’s a quick and useful compilation of the most popular designer news that we curated from the past week.

Note that this is only a very small selection of the links that were posted, so don’t miss out and subscribe to our newsletter and follow the site daily for all the news.

UI Movement – The Best UI Design Inspiration, Every Day

 

Adobe Drops Fonts, Leaves Users Stranded

 

Why the Confirm Password Field Must Die

 

Rucksack – A Little Bag of CSS Superpowers

 

The Future of Layout with CSS: Grid Layouts

 

Why Introverts Make Great Entrepreneurs

 

Better Image Borders with Blend Modes

 

Simplify your Projects by Using a UX Checklist

 

Why Banksy’s Dismaland is Better than You’d Ever Expected

 

Google has Secret Interview Challenges Based on your Search History

 

Bernie Sander’s 404 Page

 

“Pixar in a Box” – How Pixar Uses Math to Make Movies

 

The Problem with Problems

 

Guidelines for Letter-spacing Type

 

Don’t Be Apple

 

Design Solutions: Placeholder Avatars

 

Busting 9 UX Myths like a Boss

 

Acorn 5 – The Image Editor for Humans

 

Thinking Outside the Square: Landscape and Portrait Formats on Instagram

 

Facebook Launches M, its Bold Answer to Siri and Cortana

 

McDonald’s Politely Declines Burger King’s Offer of World Peace

 

A Former Google Exec on How to Make Tough Decisions Quickly

 

In Less than Two Years, a Smartphone Could Be your Only Computer

 

What it Looks like to Use the Internet for the First Time

 

An Honest Guide to the San Francisco Startup Life

 

Want more? No problem! Keep track of top design news from around the web with Webdesigner News.

LAST DAY:The Spring and Summer Vector Bundle (200 vectors) – only $24!

Source

Vía Webdesigner Depot http://ift.tt/1EqCjZ9

Saturday, August 29, 2015

Comics of the week #302

http://ift.tt/1F5Dxnq

Every week we feature a set of comics created exclusively for WDD.

The content revolves around web design, blogging and funny situations that we encounter in our daily lives as designers.

These great cartoons are created by Jerry King, an award-winning cartoonist who’s one of the most published, prolific and versatile cartoonists in the world today.

So for a few moments, take a break from your daily routine, have a laugh and enjoy these funny cartoons.

Feel free to leave your comments and suggestions below as well as any related stories of your own…

Not that concerned

 

TMI

 

No cookies

Can you relate to these situations? Please share your funny stories and comments below…

Logo Nest eBook Bundle – only $5!

Source

Vía Webdesigner Depot http://ift.tt/1UjpnWL

Friday, August 28, 2015

Stop defending design, start presenting solutions

http://ift.tt/1fKIxHn

If you do any client work, you understand that success or failure depends on meeting expectations; one of the hardest things to do. There are some rules you can follow to ensure that your presentations are engaging, and well-received.

1) Make sure no one is late to the party

If someone is going to have an opinion, make sure they are involved from the start of the project. That way, any ideas, concerns, or revisions late in the process made by people who aren’t stakeholders can’t potentially hold up the project.

This is huge, but it happens again and again. Clients will show designs to the marketers, IT professionals, the CEO, the stock guys, etc. and all of them will want to give their two cents. If you present conceptual work like site-maps, style tiles, and wire frames early in the process, you will get feedback early. Make sure everyone sees the work.

If you can collect the names and contact info of all the stakeholders early in the process you can make sure that you send all conceptual work and finished comps to all parties at the same time.

And make feedback mandatory, even if the only feedback is “I like it.”

2) Present face-to-face

There’s no way that you can convey every little detail about why you designed something the way you did to a client through an email. Don’t try it. If you do that, they have no clue how or why you designed something. This will put you on the defensive right away. Now, before you’ve had the chance to explain your idea, the mailroom delivery boy is going to tell his boss the design is too boxy, or that the colors suck.

Avoid being put on the defensive by arranging a meeting where you can get anyone with an opinion in a room to present your design to them. You can debate any questions face to face rather than back and forth in an email thread.

3) Saying “no” a lot sounds very negative

When you don’t get a face to face to present your design you run the risk of saying “no” a lot which makes it seem like you are unwilling to compromise. This is their project and while they’re paying you to design them a better product, they expect to be a part of the team.

Through presentation, you can hear the client’s suggestion and explain why it may not work, and eventually you can think of an appropriate solution, together. The project will turn out better in the end because you will have something that reflects the business and the client, as well as something that communicates to the users the design was made for.

4) Be honest, compromise, and avoid group think

Talk like a professional. If the client is wrong, they want you to tell them they’re wrong, but explain why. If the client is persistent, make sure you have analytics or facts to back your position.

Presenting is part selling and part consulting. If the client offers opinions that will not work but are adamant about doing it, try to reach a compromise. Offer an idea that meets somewhere in the middle and the client will respect that, even if they still want their idea implemented.

Stand your ground in the face of group think. If something is morally or ethically wrong, make your opinion known. Don’t let them tarnish their own brand by failing to speak up. Tell them exactly why their ideas are bad from an ethical standpoint, but always be respectful.

5) Shields up

If you fail to present your work properly, you’d better be ready to do a lot of stuff you think is wrong. Your client, with all of the project’s stakeholders, have been discussing the comp you sent them for two weeks and they have a lot of ideas. This is the point where you get pages of revisions to a design, or worse, an outright rejection. If you find yourself in this position make sure that you take a deep breath and call the client.

Arrange a sit down so you can hash out all of the ideas and concerns they had and explain why their concerns are unwarranted or why their ideas aren’t suitable. While you’re on the defensive, you can’t really present much of the previous design, because the client’s ideas will keep being brought up.

Bad ideas left to fester are like flies at a picnic, they leave you alone for a little while, then land on your apple pie.

6) Think through every detail

If you can’t explain an aspect of your design, and you get put on the defensive, you might as well not even talk.

At that point the client will have thought through their bad idea more than you’ve thought through the design. This is sort of like talking to someone and having them tell you that your zipper is down: it’s kind of embarrassing, and makes you look bad. 

7) Don’t argue

Whether you’re presenting design or defending design, you should never argue with your client over work they’re paying you for.

Arguing doesn’t accomplish anything, it won’t sway opinions, and it definitely won’t lead to compromise. When you’re presenting work it is much easier to avoid confrontation because you are explaining the conclusions you’ve come to based on research and your experience.

It’s hard to argue over research and experience. Again always have analytics and numbers to back up your work.

8) Confirm

If you are on the defensive, and are able to get a face to face with the client to go over your design, make sure you confirm what was discussed so that everyone is on the same page. If you don’t, someone is going to be really mad their bouncing, talking paper clip didn’t make it onto the website.

Confirm via email once you get back to the office. It’s important that you have a paper trail.

Conclusion

Get out in front of any potential communication issues and present all of your work to your clients. If you present you will manage everyone’s expectations better, which will lead to a happy project and a more fulfilling experience.

 

Featured image, presentation image via Shutterstock.

UI Kit Elixir with 1,000+ Web Components – only $27!

Source

Vía Webdesigner Depot http://ift.tt/1Ip5neA

Thursday, August 27, 2015

30+ impactful black and white websites

http://ift.tt/1EYRMdL

Color is one of the most significant elements of any design. It creates emotion, guides us through an interface, and reinforces a brand.

It’s rare that you find a truly black and white design, more often monochrome designs are dark gray, or off-white. But the effect is the same. Color is literally how we see the world — different light particles being absorbed, or emitted, give us a picture of our surroundings. So when color is missing, we start to see the world differently: textures and shapes become more apparent, and the world seems perceptibly slower. Black and white designs play on this alternate view of the world. When used well, a monochrome palette can be warm, reassuring, dramatic, and bold.

Mostly white design is minimal and restrained. Mostly black design is strong and assertive. Both ends of the spectrum are confident and positive.

Ironically, the biggest impact black and white designs have is on color. When the stage is entirely tonal, introducing a bright color almost sears it into our retinas. Adding a touch of color to an otherwise monochrome design is a powerful statement, as we’ll see…

Melanie Daveid

Ólafur Arnalds

Laure Boutmy

Code and Theory

Elite Model Management

Scheltens & Abbenes

Elbow

Flavien Guilbaud

B14

A-P & Co

Jeremy Pierre

Kurokawa Wonderland

4 1/2

Werkstatt

The Post Family

Tangent GC

Sandberg Instituut

Transistor Design

Praesens

Studio Blackburn

Yes

Dave Clark Design

Analytische Grafik

Cat Garcia Photography

Intropik

Holding Still

Pauline Osmont

Park Tavern

Rumba

Topsafe

Live Area

Pal Zileri

WXG

Folch


LAST DAY: Build Unlimited Website Designs with the Bootstrap Starter Kit – only $14!

Source

Vía Webdesigner Depot http://ift.tt/1UeQkuT