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.
- 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 ;-)
- 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.
- We used the bootstrap theme as our starting point, sub-themed it, and then customized it heavily.
- All configuration is packaged using the features module, so that it can be reproduced anywhere else and version controlled using Git.
- All modules, themes and libraries etc. are downloaded using drush make files.
- 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