SpinSpire logo

SpinSpire.com redesign

Welcome to the newly redesigned SpinSpire.com. It was on Drupal and it is still on Drupal, only better. We here at SpinSpire believe in eating our own dogfood. So we re-built our own site the way we would (re)build a client's site.

  1. The site is fully responsive. Made with mobile in mind. Try viewing it on your mobile phone. Here's the QR code in case you're feeling too lazy to type the URL into your phone ;-)
    QR code to https://spinspire.com/
  2. All previous articles, users, tags and images were migrated using the excellent migrate module. Our migration code can update the new site from old one any number of times.
  3. We used the bootstrap theme as our starting point, sub-themed it, and then customized it heavily.
  4. All configuration is packaged using the features module, so that it can be reproduced anywhere else and version controlled using Git.
  5. All modules, themes and libraries etc. are downloaded using drush make files.
  6. Like all our other sites, we have a script (initialize.sh) that rebuilds the site from scratch with a single command in any new environment. Very handy for creating stage, dev and local copies.
#!/bin/bash

if [ ! -d modules/contrib ]; then
  chmod +w .
  drush make --no-core --contrib-destination=. drush.make .
fi

#The following works only after you have correct done site-install once
drush site-install

drush pm-disable -y update,overlay,dashboard,comment,rdf,toolbar,shortcut,search
drush pm-enable  -y admin_menu_toolbar,module_filter

#Enable packaged features
drush pm-enable -y spinspire_config
drush pm-enable -y spinspire_content

#compile from SCSS to CSS
(cd themes/spinstrap && compass compile)

#enable the default theme
drush -y en spinstrap

#disable other themes
drush -y dis bartik

#revert config because some features dont stick
drush features-revert -y spinspire_config

# All lines below are dev use only

#enable useful developer modules (in non-PROD only)
#drush en -y features_diff
#drush en -y devel
#drush en -y devel_generate

read -s -p "Enter admin password:" password
drush user-password admin --password="$password"
echo "admin password changed"

echo "Please run content migration with ..."
echo "drush -y en sp_migrate && drush migrate-status && drush migrate-import UserPicture,User,ArticleTag,Article"

A script like this helps us keep our site and our client's sites clean, optimized, easy to rebuild, and thus easy to debug and troubleshoot.

I'm sure there are many rough edges to be smoothed, but overall, I'm quite happy with the result! I hope you like it too.


tags: drupal development