<![CDATA[James Heffernan Portfolio.. Talking Point]]>http://my-ghost-blog.com/Ghost v0.4.2Sat, 05 Jul 2014 14:01:35 GMT60<![CDATA[GhostBusters]]>This tutorial is really short. First download Buster. To do so open your terminal and type:

    sudo easyinstall pip

You need pip a python packaging manager to install Buster.
Now run the command:

    pip install buster

This will take a minute or so. When Buster is installed it is first important that you have made your Ghost blog and added pages. If you need to add a custom domain, you can but I will not cover that here.

When your site is ready to generate a static version run the command:

    buster generate --domain=http://127.0.0.1:2368 

This will generate static files ready for upload to Github. Then pass

    buster deploy

to finish. Sin é.

]]>
http://my-ghost-blog.com/ghostbusters/61f05ee7-9ac2-4bde-9fa5-18901c84971bSat, 05 Jul 2014 13:32:38 GMT
<![CDATA[Blogging]]>So now I had the skeleton for my site but I was missing one crutial piece of the puzzle.

A Blog.

I love to write and to discuss. I admire those who recognise the value for what they do, but also realise their responsibilty to give something back.
This is what I wanted from this blog space. I place where people could go and learn about what I did, how I did it and why I did it.

I wanted a clean simple cms. I thought of building one and had just started using Pelican when, I remembered signing up for Ghost while it was in Beta testing. I had not had the opportunity to explore the platfrom. Maybe with a bit of tweaking this might work.

I downloaded Ghost onto my mac, you need node.js to be installed before you can use it. From here I could access the blogs html, css and configuration files.

COOool. Ghost was exactly what I wanted. A nice dashboard, simple and built for writing. Like Tumblr it has a nice to-the-point interface, stripping out the bloat that other platforms like Wordpress and Blogger carry around with them.

I know what your thinking... James a blogging site is dynamic you can't host it on Github.... or can I?
I am very grateful to fellow Githubber axitkhurana who wrote a fabulous static site generator for Ghost, called Buster.

So for you too to become cool GhostBusters follow my next post.

]]>
http://my-ghost-blog.com/blogging/c77dc67f-eb2a-4313-afa3-c01fcb2f3eecSat, 05 Jul 2014 13:21:41 GMT
<![CDATA[Oops a Typo..]]>After 10 minutes the site was live!
Clicking through everything ran super smooth then.... no a typo. One of the links was dead.

It was really no big deal. I had two options. I could find the file on my mac , fix the typo and re-upload OR use the github site itself.

If you find a typo open the file in your repo - while on the github site and hit edit.

Boom you can fix your page, save it and it is back online.
Github you're a life saver. :)

]]>
http://my-ghost-blog.com/oops-a-typo/c1eb1581-e222-48fe-a435-d6a0fac93a3eSat, 05 Jul 2014 13:10:24 GMT
<![CDATA[Phase 3]]>Ok so I had the site, and it is dynamic. Whenever I upload a new piece of work on Behance it updates my website too - nice.

But it is still on my mac. That is not very helpful for the rest of the world, who would have to wait until I turn on my mac to see it. Hmm we need a host.

As the site is making its dynamic calls using javascript we no longer need to worry about finding a hosting package that includes a server side language like php or database functionality like mySQL.

Awesome now I can use GitHub!

So how do I get my site online? Here is how I did it.

  • The first thing you need is a Github account. Remember to verify your email!
  • Next you need to make a respository. It is pretty easy, just click the button.

    Ok from here you have 2 options. You can use the terminal (command line if on PC ) to push files to this space or download the Github application for your system.

    I used the method which made the most sense to my workflow, which in this case was the terminal.
    An obvious point to note is that your website should be all in 1 folder, just in case you have missed that very basic web design step.

    Ok in the terminal change to your project directory/folder by passing this simple command:

        cd /insert/your/project/directory/portfolio
    

    A nice trick, to save your fingers typing out every path is just to type cd in the terminal, find the folder and then drag it into the terminal window. Boom you have the path.

    Now hit enter. You are now inside your website folder.
    Ok we need to initialise Git pass the following command by typing and hitting enter... From now on assume if I say pass a command that you hit enter... cool? ..Great.

        git init
    

    We now need to setup a remote origin. This basically tells Github where the files that will be in your repository came from.

         git remote add origin https://github.com/yourUserName/YourRepositoryName.git
    

    Awesome you are doing really well, next we need to make a branch to store our files withing the repo. To do that you pass the simple command:

        git checkout -b -gh-pages
    

    This makes a new branch with the parameter -b with the name gh-pages. This is really important. In Github there are 2 types of pages: User and Project. You can only make 1 user page BUT your can make as many project pages as you need. If you do not call the branch for your site gh-pages it will not work.

    If you need to check the status of your repo, like did I delete or upload files you can by passing:

        git status
    

    Run this command followed by:

        git add .
    

    Remember the . this adds all the files in the directory. Only two more commands and you will have a fully functional website!!

    Next up we need to tell Github why these files were uploaded. So we might give it the tag original or version 1 or something meaningful to you.

    When you have thought of something pass this command:

    git commit -m "orignal commit"
    

    As you can see, I'm just giving mine the tag original commit.
    Finally we need to "push" the files to Github with one single final command:

    git push origin gh-pages
    

    You will probably see lots of file paths whoose up the terminal window. Don't fret that means that it is working. You will be able to see how fast the transfer is in the final lines of the terminal.

    Upon completion you must wait 10mins before your site is live. You can check that the files entered your repository correctly by navigating to your github page and clicking on your repo.

            github.com/yourUsername/yourRepositoryName
    
    ]]>http://my-ghost-blog.com/phase-3/29771d00-cb92-4092-a12b-bc1950039186Sat, 05 Jul 2014 12:31:46 GMT<![CDATA[Phase 2]]>The next step was writing the code. I knew that I wanted to make the site responsive. That is that the site changes its css or styling depending on the device that the user is viewing the site on.

    As a developer I am fluent in several languages and can figure out the basics of ones that I may not be as savy with.
    So Yes this was not ever going to be a Dreamweaver or Adobe Edge job. I want to know what is going on and where the action is happening.

    The first step in my process was to make a pdf (or image copy) of my designs and set it to desktop 2 on my macbook pro.

    setup desktop 2

        Mac Only 10.8+ => hit F3 and move cursor to far right click "+" button
    

    For development this has become a must have.
    With that setup I opened my text editor, in this case it is Sublime Text. To make a site experience universal we have 2 options.

  • Responsive site.
  • Adaptive site.

    What are the differences? Basically a responsive site works off a single css file that scales content based on the screen size. An adaptive site on the other hand keeps several css sheets for different resolutions. Each sheet is utilised when its respective viewport is selected.

    I decided to go with the responsive method as I have created other websites with this method in mind. That is not to say that an adaptive system would not have done as good a job. It is just a matter of taste. Click here to see some responsive frameworks I recommend.

    To speed things up I used a responsive framework named "Element". It is just a grid css file. With the basic grid defined I could start customising and creating my design.

    After coding out my design I had a few little tweaks that needed to be made. To show off my programming I employed a two stage design structure. The first of which is now completed. On one side of the page is a code editor viewer, where my code is displayed and on the other is a description of what the code does. Stage 2 will include a code highlighter that on mouseover or touch will change a graphic which illustrates what the code does.

    I thought this was a very important addition that is not utilised on code portfolio sites like Github to-date. For the programmer, seeing clever well written code is enough but to business people who may not know what this jibber jabber does, a graphic is much more appealing.

    To get the code editor working I used a javascript plugin called "prism.js". This is a syntax highligher. I later added a custom script to add the line numbers.

    To accept touch events instead of mouse events I included the moderniser.js plugin in my code.

    However possibly the most amazing use of javascript I came across was handlebars.js
    This I used to make http calls to the behance API.
    How is that useful?
    Well as I mentioned in my first post a lot of my digital content is scattered across different services. Now on design principle it does not make sense downloading all this content and re-uploading it to a new host with my new site. It has a home. Why not utilise it?

    Behance offer a very good api, where once you have signed up for a developer account and snatched your api key you can dibble dabble in some very cool projects.

    If you have never tinkered with api's before, at first glance you may be put off, but believe me they are really awesome once you get the hang of it. CodeAcademy is a elearning site that I constantly sing praise for. The tutorials are well written, the interface is fresh and it is interactive. As a code learning experience it is a must and whatmore they have plenty of very nice API tutorials to get you going.

    ]]>http://my-ghost-blog.com/phase-2/648975f3-bda6-49e4-ba52-e7e834d6c561Fri, 04 Jul 2014 17:11:39 GMT<![CDATA[Welcome to My Blog]]>Today's entry will discuss how this site as a whole was created and published. The post following this will discuss the overall plan and what improvements are being finalised for the portfolio section.

    Getting Started

    One of the first problems every project has is: what tools are best suited and why?
    Both questions are essential to the design and development process and both questions help to answer potential issues down the line, if they are tackled early on.

    I wanted to created a space that so-far I have not seen online. I needed a space where I could show case my design work and my programming projects. Although I did not feel showcasing was good enough. Most design portfolio's show the finished piece slapped beside lots of other finished pieces. That may work for a graphic designer or illustrator, but as a Multimedia designer/developer I make stuff that sometimes moves.. that sometimes is dynamic and at other times is static.

    At present to showcase my work I found that I was utilising many different services. Audio work is on soundcloud, videos on youtube and vimeo, graphical elements are found on pinterest, behance, deviantart and my personal blogs.

    As a designer is was obvious how big of a design flaw this experience was. Asking someone to traverse the internet, chasing your work simply is not good enough.

    SO I set off to design an experience. This project started in my final year of college. It is on-going. Admitting that something as subjective as a portfolio space is a continous process is perhaps the first step to making a good experience. By excepting this truth, you are accepting that it all does not have to be done at once.

    As the site currently stands, it is a HTML5 site with some JQuery added where needed. The experience is mild and banal. This is about to change. I decided it better to start the hub than to wait for all the assets to be complete. While a flat 2d experience with a little bit of javascript magic anchors the web page at present a 3D walk-around is being tested, and will replace this version in the coming weeks, but we will discuss this later on.

    How did I do it?

    As I said the ideal experience was where I started. So I wanted a shared hub, but I want it to feel more like you walked into my studio, not like you're staring at the window of my studio.

    To do this we need atmosphere.

    I made a playlist up of ambient "working" tunes that I avidly listen to and posted it on Grooveshark and on Spotify. Both allow their users to utilise a version of their web players for website embedding. Ok cool this adds dynamism. This turned out to be the first consideration.

  • A dynamic site do I need it?

    Yes was the answer, however :

  • Where can I host a dynamic site for free?

    Oops.. not many places.
    Then I got an idea. Why not host the site as a Github repository?
    The only downfall is that Github pages do not accept dynamic pages... hmm only half the battle.

    Knowing that I had a fully functioning host though spurred me on to the design phase. Perhaps I might realise just how much could be achieved with a static site.

    I began the process with my little brown sketch book (where most of my creative ideas are journaled). Before building the first phase I mocked-up the site using photoshop. I have put a sample of my WIPS from this stage on (behance) [behance.net/jheff/wip].


    ]]>http://my-ghost-blog.com/welcome-to-ghost/3fee37b1-47f5-44a5-a5db-670a1a16f0c4Fri, 04 Jul 2014 14:14:55 GMT