<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Portfolio Archives - Chris Gilligan » new media</title>
	<atom:link href="http://chrisgilligan.com/portfolio/feed/" rel="self" type="application/rss+xml" />
	<link>https://chrisgilligan.com/portfolio/</link>
	<description>portfolio of web work</description>
	<lastBuildDate>Tue, 12 Sep 2023 16:33:54 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>
	<item>
		<title>Use WP-CLI to add categories to posts</title>
		<link>https://chrisgilligan.com/portfolio/use-wp-cli-to-add-categories-to-posts/</link>
					<comments>https://chrisgilligan.com/portfolio/use-wp-cli-to-add-categories-to-posts/#respond</comments>
		
		<dc:creator><![CDATA[Chris Gilligan]]></dc:creator>
		<pubDate>Thu, 16 Mar 2023 15:11:08 +0000</pubDate>
				<category><![CDATA[Portfolio]]></category>
		<guid isPermaLink="false">https://chrisgilligan.com/?p=2554</guid>

					<description><![CDATA[<p>BASH command to parse CSV and run wp post term add category, using while and IFS (Internal Field Separator)</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/use-wp-cli-to-add-categories-to-posts/">Use WP-CLI to add categories to posts</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="float: right; margin: 0 0 10px 15px; width:240px; height: auto;">
		<img src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2023/03/Screenshot-2023-03-16-at-11.08.47.png?x25141" width="240" style="max-width: 100%; height: auto;" />
		</p>
<p class="wp-block-paragraph">I was asked to take a spreadsheet of WordPress posts and add a category to each post. This is easily done if the category is the same for each of the posts. I thought about re-using a wp-cli bash command I had used previously to add one category to a list of post ID&#8217;s.</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
for x in $(cat posts_list.txt) ; do wp post --url=https://wpmulti.site/blog-slug/ term add $x category category-slug ; done
</pre></div>


<p class="wp-block-paragraph">Doing that would have required splitting the posts into separate .txt files for each category, which was not feasible with the number of posts and categories in the spreadsheet.</p>



<p class="wp-block-paragraph">The spreadsheet included the post ID, title, and the text name of the category.</p>



<h3 class="wp-block-heading">Clean up the data</h3>



<p class="wp-block-paragraph">The first step is to properly format and sanitize the spreadsheet, to change the category names to the correct corresponding slug. This was relatively simple in Excel, by changing the case of the category names to lowercase, removing all special characters such as ampersands and commas, and replacing spaces with hyphens. I didn&#8217;t need the titles at all, so I deleted that column. In the first row, I added column headers: post_id and post_category.</p>



<p class="wp-block-paragraph">Note: be sure you have entered the categories in WordPress before you run the import, and make sure the slugs match what is in the import spreadsheet. Otherwise, you will have to edit the category names after the import from the newly created category slugs.</p>



<p class="wp-block-paragraph">Export the spreadsheet to CSV.</p>



<h3 class="wp-block-heading">Parse a CSV file and add categories to WordPress posts by post id and category slug</h3>



<p class="wp-block-paragraph">Here&#8217;s a simple BASH command to parse a CSV and run <code>wp post term add category</code>, using while and IFS (Internal Field Separator):</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: bash; title: ; notranslate">
while IFS=&quot;,&quot; read post_id post_category ; do wp post --url=https://wpmulti.site/blog-slug/ term add $post_id category $post_category ; done &lt; &quot;post-add-category.csv&quot;
</pre></div><p>The post <a href="https://chrisgilligan.com/portfolio/use-wp-cli-to-add-categories-to-posts/">Use WP-CLI to add categories to posts</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chrisgilligan.com/portfolio/use-wp-cli-to-add-categories-to-posts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Everviz Chart Test</title>
		<link>https://chrisgilligan.com/portfolio/everviz-chart-test/</link>
		
		<dc:creator><![CDATA[Chris Gilligan]]></dc:creator>
		<pubDate>Thu, 13 Aug 2020 00:17:54 +0000</pubDate>
				<category><![CDATA[Portfolio]]></category>
		<guid isPermaLink="false">https://chrisgilligan.com/?p=2506</guid>

					<description><![CDATA[<p>This is a chart created with Everviz embed code in a custom field.</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/everviz-chart-test/">Everviz Chart Test</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="float: right; margin: 0 0 10px 15px; width:240px; height: auto;">
		<img src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2020/09/cumulative-cases-of-covi.png?x25141" width="240" style="max-width: 100%; height: auto;" />
		</p>
<p class="wp-block-paragraph">This is a chart created with Everviz embed code in a custom field.</p>



<p class="wp-block-paragraph"><div id="highcharts--B96YWShY"><script src="https://app.everviz.com/inject/-B96YWShY/" defer="defer"></script></div></p>
<p>The post <a href="https://chrisgilligan.com/portfolio/everviz-chart-test/">Everviz Chart Test</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Responsive and Accessible Charts and Graphs</title>
		<link>https://chrisgilligan.com/portfolio/responsive-accessible-charts-graphs/</link>
					<comments>https://chrisgilligan.com/portfolio/responsive-accessible-charts-graphs/#respond</comments>
		
		<dc:creator><![CDATA[Chris Gilligan]]></dc:creator>
		<pubDate>Wed, 15 Mar 2017 13:24:55 +0000</pubDate>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://chrisgilligan.com/?p=2429</guid>

					<description><![CDATA[<p>I have been looking for a simple solution to create and manage &#8220;dashboard&#8221; type charts on a website. Something that would produce editable graphs, accessible content for screen readers, and fit into a responsive design. Chartist.js is a simple and independent library to create SVG charts in the DOM. Various plugins are available to extend [&#8230;]</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/responsive-accessible-charts-graphs/">Responsive and Accessible Charts and Graphs</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="float: right; margin: 0 0 10px 15px; width:240px; height: auto;">
		<img src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2017/03/screen-shot-2017-03-15-at-9.27.13-AM.png?x25141" width="240" style="max-width: 100%; height: auto;" />
		</p><p>I have been looking for a simple solution to create and manage &#8220;dashboard&#8221; type charts on a website. Something that would produce editable graphs, accessible content for screen readers, and fit into a responsive design.</p>
<p><a href="https://gionkunz.github.io/chartist-js/">Chartist.js</a> is a simple and independent library to create SVG charts in the DOM. Various plugins are available to extend the functionality and display options. In this example, the accessibility and axis label plugins are used. There are also plugins available for frameworks, and for WordPress (as a <a href="https://wordpress.org/plugins/charts-for-tablepress-chartist/">TablePress plugin extension</a>).</p>
<div>It makes a responsive chart, with an optional accessible table (hidden by default, but displayed on this example, to show the values).</div>
<div></div>
<div>Check out the CodePen attached to this post. You can interact with the chart by clicking on the legend labels to toggle the series on/off.</div>
<div></div>
<div>After a chart is set up, the only values a user would need to modify are the data variables at the top of the JS: labels and series. If the y-axis series values change, they would have to modify axisY values for ticks, high/low. The remainder of the JS is display parameters and accessibility options.</div>
<div></div>
<hr />
<p><p class='codepen'  data-height='688' data-theme-id='0' data-slug-hash='yMzKMQ' data-default-tab='js,result' data-animations='run' data-editable='' data-embed-version='2'>
See the Pen Chartist Graph with (visible) accessibility, point label, legend and axis label plugins: CCTN by utcwebdev (@utcwebdev) on CodePen.</p>
</p>
<p>&nbsp;</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/responsive-accessible-charts-graphs/">Responsive and Accessible Charts and Graphs</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chrisgilligan.com/portfolio/responsive-accessible-charts-graphs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>TEDx Event Website</title>
		<link>https://chrisgilligan.com/portfolio/tedx-event-website/</link>
					<comments>https://chrisgilligan.com/portfolio/tedx-event-website/#respond</comments>
		
		<dc:creator><![CDATA[Chris Gilligan]]></dc:creator>
		<pubDate>Wed, 04 Nov 2015 17:13:14 +0000</pubDate>
				<category><![CDATA[Arts and Nonprofit]]></category>
		<category><![CDATA[NginX]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Virtualmin]]></category>
		<category><![CDATA[Web Server Performance Tuning]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://chrisgilligan.com/?p=2342</guid>

					<description><![CDATA[<p>I&#8217;m very excited to help out with Chattanooga&#8217;s premier TEDx event: TEDxChattanooga. For this site, I chose a responsive Bootstrap 3 SASS WordPress theme, originally developed for TEDxToronto. I made a few tweaks and improvements to better fit our event, and worked with April Cox from UT Chattanooga to dial in&#160;the design and architecture. Developed&#160;on [&#8230;]</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/tedx-event-website/">TEDx Event Website</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="float: right; margin: 0 0 10px 15px; width:240px; height: auto;">
		<img src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.46.47-AM.png?x25141" width="240" style="max-width: 100%; height: auto;" />
		</p><p>I&#8217;m very excited to help out with Chattanooga&#8217;s premier TEDx event: <a href="https://www.tedxchattanooga.com/">TEDxChattanooga</a>.</p>
<p><div id="attachment_2346" style="width: 933px" class="wp-caption aligncenter"><a href="http://www.tedxchattanooga.com/"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2346" class="size-large wp-image-2346" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.46.47-AM-923x1024.png?x25141" alt="TEDxChattanooga website screenshot" width="923" height="1024" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.46.47-AM-923x1024.png?x25141 923w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.46.47-AM-270x300.png?x25141 270w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.46.47-AM.png?x25141 1378w" sizes="auto, (max-width: 923px) 100vw, 923px" /></a><p id="caption-attachment-2346" class="wp-caption-text">TEDxChattanooga website</p></div></p>
<p><a href="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.51.25-AM.png?x25141"><img loading="lazy" decoding="async" class="size-medium wp-image-2343 alignright" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.51.25-AM-177x300.png?x25141" alt="screen-shot 2015-11-04 at 11.51.25 AM" width="177" height="300" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.51.25-AM-177x300.png?x25141 177w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.51.25-AM-605x1024.png?x25141 605w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.51.25-AM.png?x25141 616w" sizes="auto, (max-width: 177px) 100vw, 177px" /></a>For this site, I chose a responsive Bootstrap 3 SASS WordPress theme, originally developed for TEDxToronto. I made a few tweaks and improvements to better fit our event, and worked with April Cox from UT Chattanooga to dial in&nbsp;the design and architecture. Developed&nbsp;on an Amazon EC2+Ubuntu+Webmin&nbsp;server running a Nginx+MySQL+PHP-FPM stack, the site&nbsp;should handle plenty of traffic, and can be scaled up to meet spikes in demand coinciding with the event.</p>
<p>Please check out <a href="http://www.tedxchattanooga.com/">TEDxChattanooga.com</a>!</p>
<p>Love Open Source software, but hate the generic&nbsp;branding? No problem. It&#8217;s very simple to create a fully-branded login&nbsp;screen for&nbsp;WordPress and Webmin/Virtualmin, to&nbsp;match a client&#8217;s logo and color scheme.</p>
<hr>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-2344 size-medium" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.49.19-AM-283x300.png?x25141" alt="screen-shot 2015-11-04 at 11.49.19 AM" width="283" height="300" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.49.19-AM-283x300.png?x25141 283w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-11.49.19-AM.png?x25141 616w" sizes="auto, (max-width: 283px) 100vw, 283px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-2347 size-full" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-12.06.49-PM.png?x25141" alt="screen-shot 2015-11-04 at 12.06.49 PM" width="969" height="865" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-12.06.49-PM.png?x25141 969w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-12.06.49-PM-300x268.png?x25141 300w" sizes="auto, (max-width: 969px) 100vw, 969px" /></p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-2348" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-12.09.52-PM-1024x793.png?x25141" alt="screen-shot 2015-11-04 at 12.09.52 PM" width="1024" height="793" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-12.09.52-PM-1024x793.png?x25141 1024w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-12.09.52-PM-300x232.png?x25141 300w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2015/11/screen-shot-2015-11-04-at-12.09.52-PM.png?x25141 1061w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>The post <a href="https://chrisgilligan.com/portfolio/tedx-event-website/">TEDx Event Website</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chrisgilligan.com/portfolio/tedx-event-website/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Land Trust Website with Events Calendar</title>
		<link>https://chrisgilligan.com/portfolio/land-trust-website-with-events-calendar/</link>
					<comments>https://chrisgilligan.com/portfolio/land-trust-website-with-events-calendar/#respond</comments>
		
		<dc:creator><![CDATA[Chris Gilligan]]></dc:creator>
		<pubDate>Wed, 14 Aug 2013 20:44:39 +0000</pubDate>
				<category><![CDATA[Arts and Nonprofit]]></category>
		<category><![CDATA[Organizations]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://chrisgilligan.com/?p=2043</guid>

					<description><![CDATA[<p>Lula Lake Land Trust needed a quick website update to replace a neglected site that had been dormant for years. I chose WordPress with a Bootstrap theme for quick and flexible development, and generated a color palette using the Lavish Bootstrap color scheme generator. This is a great example of a site that can come [&#8230;]</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/land-trust-website-with-events-calendar/">Land Trust Website with Events Calendar</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="float: right; margin: 0 0 10px 15px; width:240px; height: auto;">
		<img src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/screen-shot-2013-08-14-at-4.47.54-PM.png?x25141" width="240" style="max-width: 100%; height: auto;" />
		</p><p><strong><a href="http://lulalake.org/">Lula Lake Land Trust</a> needed a quick website update</strong> to replace a neglected site that had been dormant for years. I chose WordPress with a <a href="http://strappress.com/">Bootstrap theme</a> for quick and flexible development, and generated a color palette using the <a href="http://lavishbootstrap.com/">Lavish Bootstrap color scheme generator</a>.</p>
<p>This is a great example of a site that can come together in mere days, look great, and function well on every device from desktop to tablet to smart phone.</p>
<p><div id="attachment_2044" style="width: 1034px" class="wp-caption aligncenter"><a href="http://lulalake.org/"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2044" class="size-large wp-image-2044" alt="Lula Lake Land Trust website" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/screen-shot-2013-08-14-at-4.33.11-PM-1024x969.png?x25141" width="1024" height="969" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/screen-shot-2013-08-14-at-4.33.11-PM-1024x969.png?x25141 1024w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/screen-shot-2013-08-14-at-4.33.11-PM-300x284.png?x25141 300w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/screen-shot-2013-08-14-at-4.33.11-PM.png?x25141 1320w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><p id="caption-attachment-2044" class="wp-caption-text">Lula Lake Land Trust website</p></div></p>
<p><a href="http://lulalake.org/"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-2047" alt="screen-shot 2013-08-14 at 4.47.54 PM" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/screen-shot-2013-08-14-at-4.47.54-PM.png?x25141" width="396" height="744" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/screen-shot-2013-08-14-at-4.47.54-PM.png?x25141 396w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/screen-shot-2013-08-14-at-4.47.54-PM-159x300.png?x25141 159w" sizes="auto, (max-width: 396px) 100vw, 396px" /></a></p>
<p>The post <a href="https://chrisgilligan.com/portfolio/land-trust-website-with-events-calendar/">Land Trust Website with Events Calendar</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chrisgilligan.com/portfolio/land-trust-website-with-events-calendar/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>University Website and Blog Redesign</title>
		<link>https://chrisgilligan.com/portfolio/university-website-and-blog-redesign/</link>
					<comments>https://chrisgilligan.com/portfolio/university-website-and-blog-redesign/#respond</comments>
		
		<dc:creator><![CDATA[Chris Gilligan]]></dc:creator>
		<pubDate>Wed, 14 Aug 2013 18:03:46 +0000</pubDate>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://chrisgilligan.com/?p=2038</guid>

					<description><![CDATA[<p>This was a team project for the University of Tennessee at Chattanooga, my alma mater and current employer. I was hired by UTC as web development specialist in late 2012, and worked with a cross-discipline team on the redesign, information architecture, 10,000 page migration to CMS and user training for over 300 web editors. The [&#8230;]</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/university-website-and-blog-redesign/">University Website and Blog Redesign</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="float: right; margin: 0 0 10px 15px; width:240px; height: auto;">
		<img src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/utc-edu-bootstrap-site.png?x25141" width="240" style="max-width: 100%; height: auto;" />
		</p><p>This was a team project for the <a href="http://utc.edu/">University of Tennessee at Chattanooga</a>, my <em>alma mater</em> and current employer. I was hired by UTC as web development specialist in late 2012, and worked with a cross-discipline team on the redesign, information architecture, 10,000 page migration to CMS and user training for over 300 web editors.</p>
<p>The design was built on <a href="http://getbootstrap.com/">Bootstrap</a>, a versatile framework that includes a flexible, responsive grid system, icon font, and <a href="http://lesscss.org/">LESS/CSS</a> styling for nearly any imaginable UI element. The site looks great on desktop, tablet and mobile phone; images are resized according to users&#8217; maximum screen width by <a href="http://adaptive-images.com">Adaptive Images</a>.</p>
<p style="text-align: center;"><a href="http://utc.edu/"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-2041img-thumbnail" alt="utc-edu-bootstrap-site" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/utc-edu-bootstrap-site-601x1024.png?x25141" width="601" height="1024" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/utc-edu-bootstrap-site-601x1024.png?x25141 601w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/utc-edu-bootstrap-site-176x300.png?x25141 176w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2013/08/utc-edu-bootstrap-site.png?x25141 1198w" sizes="auto, (max-width: 601px) 100vw, 601px" /></a></p>
<p>We worked with <a href="http://www.omniupdate.com/">OmniUpdate</a> to port the functional HTML templates to the OU Campus Content Management System.</p>
<p>A companion WordPress theme was created to retrofit the <a href="http://blog.utc.edu/">UTC Blogs</a> MultiSite. Enhanced WordPress RSS feeds in the media namespace populate news feeds on the home page.</p>
<h3>Deets for Devs</h3>
<p><div class="woo-sc-box  note   ">We’re using <a href="http://getbootstrap.com/2.3.2/">Bootstrap 2.3.2</a> with <a href="http://fontawesome.io/3.2.1/">Font Awesome 3.2.1</a> icons.</p>
<p>For initial HTML development, I used  <a href="http://getkickstrap.com">Kickstrap</a>.</p>
<p>I found a lot of great examples and code at  <a href="http://wrapbootstrap.com">WrapBootstrap</a> and <a href="http://bootsnip.com">Bootsnip</a>.</p>
<p>Our custom CSS files work for both the OU Campus site and WordPress blogs, because templates for both are built on Bootstrap… on WordPress, we use a child theme with a  <a href="http://bootswatch.com">BootSwatch style custom CSS</a>.</p>
<p>We host our own CSS, but pull fonts and JavaScript libraries from CDNs. Off-Canvas, drop-down sidenav was custom built using Bootstrap components, but now Jasny’s Bootstrap 3.0 fork (jasny.github.io/bootstrap) has a similar extension.</p>
<p>LESS Files: along with the entire <a href="http://mainandwilliams.net/">development site</a> (was easier to zip this way). <a href="https://drive.google.com/folderview?id=0B8InB6W8DuctdkNxTUtfUU9HT28&amp;usp=sharing">Download</a> &amp; unzip, it will run as a local site if you like…</p>
<p>Start with kickstrap.less, see what it includes — mostly the standard Bootstrap LESS files. Next look at theme.less, which jumps to Kickstrap/themes/utcms/theme.less, which has all of the custom stuff and some comments. Read the comments and then look at the individual files to see what’s going on: basically, anything that’s commented out uses the base Bootstrap CSS. At some point, I would like to change this workflow to pull the standard Bootstrap CSS from a CDN, and only load the override CSS.</p>
<p>Most of our specific changes are in variables.less, navbar.less, main.less (final custom overrides and tweaks) and logotype.less (for the header). I used CODA as an IDE, with <a href="http://incident57.com">CodeKit</a> as my LESS compiler.</div></p>
<div></div>
<p>The post <a href="https://chrisgilligan.com/portfolio/university-website-and-blog-redesign/">University Website and Blog Redesign</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chrisgilligan.com/portfolio/university-website-and-blog-redesign/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Portable Wifi Hotspot Rental Site</title>
		<link>https://chrisgilligan.com/portfolio/portable-wifi-hotspot-rental-site/</link>
					<comments>https://chrisgilligan.com/portfolio/portable-wifi-hotspot-rental-site/#respond</comments>
		
		<dc:creator><![CDATA[Chris Gilligan]]></dc:creator>
		<pubDate>Wed, 12 Sep 2012 16:25:53 +0000</pubDate>
				<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Content Management Systems]]></category>
		<category><![CDATA[E-Commerce]]></category>
		<category><![CDATA[Forms]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Small Business]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Virtualmin]]></category>
		<category><![CDATA[Web Server Performance Tuning]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://chrisgilligan.com/?p=2318</guid>

					<description><![CDATA[<p>Trawire.com offers portable 4G MiFi and iPad rentals for visitors traveling to Iceland. Trawire&#8217;s CIO approached me for assistance after his systems administrator bailed and left him with a poorly maintained, self-hosted MacMini server running unoptimized WordPress installs. I migrated the site to Amazon Web Services, where it now can handle traffic spikes and can be [&#8230;]</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/portable-wifi-hotspot-rental-site/">Portable Wifi Hotspot Rental Site</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="float: right; margin: 0 0 10px 15px; width:240px; height: auto;">
		<img src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2014/10/screen-shot-2014-10-02-at-12.29.29-PM.png?x25141" width="240" style="max-width: 100%; height: auto;" />
		</p><p><strong><a href="http://iceland.trawire.com/">Trawire.com</a> offers portable 4G MiFi and iPad rentals for visitors traveling to Iceland.</strong> Trawire&#8217;s CIO approached me for assistance after his systems administrator bailed and left him with a poorly maintained, self-hosted MacMini server running unoptimized WordPress installs.</p>
<p><div id="attachment_2319" style="width: 310px" class="wp-caption aligncenter"><a href="http://iceland.trawire.com/"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2319" class="size-medium wp-image-2319" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2014/10/screen-shot-2014-10-02-at-12.29.29-PM-300x259.png?x25141" alt="Trawire website" width="300" height="259" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2014/10/screen-shot-2014-10-02-at-12.29.29-PM-300x259.png?x25141 300w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2014/10/screen-shot-2014-10-02-at-12.29.29-PM-1024x886.png?x25141 1024w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2014/10/screen-shot-2014-10-02-at-12.29.29-PM.png?x25141 1235w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-2319" class="wp-caption-text">Trawire website</p></div></p>
<p>I migrated the site to Amazon Web Services, where it now can handle traffic spikes and can be scaled and built out more easily, should the concept grow to additional markets. Working with my WordPress coding contacts in India, Trawire developed plugins to add features, and keep the software up-to-date. My contributions: caching and content distribution for static assets &amp; queries, Virtualmin and phpMyAdmin for ease of management and development.</p>
<p>&nbsp;</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/portable-wifi-hotspot-rental-site/">Portable Wifi Hotspot Rental Site</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chrisgilligan.com/portfolio/portable-wifi-hotspot-rental-site/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Punk Rock Music Community</title>
		<link>https://chrisgilligan.com/portfolio/punk-rock-music-community/</link>
					<comments>https://chrisgilligan.com/portfolio/punk-rock-music-community/#respond</comments>
		
		<dc:creator><![CDATA[Chris Gilligan]]></dc:creator>
		<pubDate>Tue, 10 Apr 2012 14:20:41 +0000</pubDate>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Publishing]]></category>
		<category><![CDATA[Web Server Performance Tuning]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://chrisgilligan.com/?p=771</guid>

					<description><![CDATA[<p>Punktastic.com is a community powered site that covers punk music in Britain, but is poised to go worldwide. They cover punk and hardcore shows and festivals, and provide album reviews, video interviews and more. With a growing audience and user base, Punktastic needed a more reliable and robust web server, so they made the move [&#8230;]</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/punk-rock-music-community/">Punk Rock Music Community</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="float: right; margin: 0 0 10px 15px; width:240px; height: auto;">
		<img src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2012/04/Screen-Shot-2012-04-10-at-10.03.58-AM.png?x25141" width="240" style="max-width: 100%; height: auto;" />
		</p><p><strong><a title="Punktastic.com" href="http://punktastic.com/">Punktastic.com</a> is a community powered site that covers punk music in Britain, but is poised to go worldwide.</strong> They cover punk and hardcore shows and festivals, and provide album reviews, video interviews and more.</p>
<p>With a growing audience and user base, Punktastic needed a more reliable and robust web server, so they made the move to a dedicated CentOS 5 series web server with 3GB RAM. While this is a relatively low-end box, it has plenty of horsepower for a single WordPress site and phpBB3 forum.</p>
<p><div id="attachment_772" style="width: 257px" class="wp-caption aligncenter"><a href="http://punktastic.com/"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-772" class="size-medium wp-image-772" title="Punktastic.com" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2012/04/Screen-Shot-2012-04-10-at-10.03.58-AM-247x300.png?x25141" alt="" width="247" height="300" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2012/04/Screen-Shot-2012-04-10-at-10.03.58-AM-247x300.png?x25141 247w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2012/04/Screen-Shot-2012-04-10-at-10.03.58-AM.png?x25141 814w" sizes="auto, (max-width: 247px) 100vw, 247px" /></a><p id="caption-attachment-772" class="wp-caption-text">Punktastic.com web site</p></div></p>
<h3>For this GIG, I soloed on&#8230;</h3>
<ul>
<li>transferring the site from a WAMP development server to the live LAMP server</li>
<li>configuring an active firewall to block the baddies</li>
<li>installing monitoring and administration tools</li>
<li>tuning Apache and MySQL for high traffic</li>
<li>integrating APC PHP Cache to speed up web pages and provide better concurrency</li>
</ul>
<p><strong>Loud Fast Rules.</strong></p>
<p>The post <a href="https://chrisgilligan.com/portfolio/punk-rock-music-community/">Punk Rock Music Community</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chrisgilligan.com/portfolio/punk-rock-music-community/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Farm to Table Restaurant Website</title>
		<link>https://chrisgilligan.com/portfolio/farm-to-table-restaurant-website/</link>
					<comments>https://chrisgilligan.com/portfolio/farm-to-table-restaurant-website/#respond</comments>
		
		<dc:creator><![CDATA[Chris Gilligan]]></dc:creator>
		<pubDate>Sat, 24 Dec 2011 21:08:25 +0000</pubDate>
				<category><![CDATA[Agriculture]]></category>
		<category><![CDATA[Organic Farms]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Restaurant]]></category>
		<category><![CDATA[Retail]]></category>
		<category><![CDATA[portfolio]]></category>
		<guid isPermaLink="false">https://chrisgilligan.com/?p=566</guid>

					<description><![CDATA[<p>Joe Naturals Farm Store Cafe is a &#8220;farm to table&#8221; cafe and natural foods store located in historic Leiper&#8217;s Fork, near Franklin, TN. The owners contacted me through a fellow farmer with whom I have worked on several web projects. The website project was languishing, after being abandoned by a designer who lacked knowledge of [&#8230;]</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/farm-to-table-restaurant-website/">Farm to Table Restaurant Website</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="float: right; margin: 0 0 10px 15px; width:240px; height: auto;">
		<img src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2011/12/Screen-Shot-2011-12-24-at-2.13.41-PM.png?x25141" width="240" style="max-width: 100%; height: auto;" />
		</p><p>Joe Naturals Farm Store Cafe is a <a href="http://joenaturals.com/about-joe/">&#8220;farm to table&#8221; cafe and natural foods store</a> located in historic Leiper&#8217;s Fork, near Franklin, TN. The owners contacted me through a fellow farmer with whom I have worked on several web projects.</p>
<p><div id="attachment_567" style="width: 310px" class="wp-caption aligncenter"><a href="http://joenaturals.com/"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-567" class="size-medium wp-image-567 " title="Joe Natural's Farm Store Cafe website" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2011/12/Screen-Shot-2011-12-24-at-2.13.41-PM-300x226.png?x25141" alt="" width="300" height="226" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2011/12/Screen-Shot-2011-12-24-at-2.13.41-PM-300x226.png?x25141 300w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2011/12/Screen-Shot-2011-12-24-at-2.13.41-PM-1024x772.png?x25141 1024w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2011/12/Screen-Shot-2011-12-24-at-2.13.41-PM.png?x25141 1309w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-567" class="wp-caption-text">Joe Natural&#39;s website</p></div></p>
<p>The website project was languishing, after being abandoned by a designer who lacked knowledge of WordPress template coding. The site needed better integration with WordPress, including text-based navigation and replacement of scanned layout comps, which were being used for page display &amp; navigation.</p>
<p>I reworked the stylesheet to replace image-based text with CSS styled text, integrated WordPress navigation, and then added a few WordPress plugins.</p>
<ul>
<li><a href="http://integrationservic.es/constant-contact/wordpress-plugin.php">Constant Contact API</a> for automated newsletter signup</li>
<li><a href="http://ottopress.com/wordpress-plugins/simple-facebook-connect/">Simple Facebook Connect</a> for Facebook Fan Page interconnectedness</li>
<li><a href="http://ronaldheft.com/code/analyticator/">Google Analyticator</a> and <a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps</a> for search engine optimization and traffic reporting</li>
<li><a href="http://yoast.com/wordpress/seo/#utm_source=wpadmin&amp;utm_medium=plugin&amp;utm_campaign=wpseoplugin">WordPress SEO</a> for simple and effective search engine optimization</li>
<li><a href="http://www.w3-edge.com/wordpress-plugins/w3-total-cache/">W3 Total Cache</a> to speed up site access on a <a href="http://lifehacker.com/godaddy-sucks/">low-end GoDaddy hosting</a> account</li>
</ul>
<p>I also worked with the farmers&#8217; social media person to add social media links and integrate Facebook &#8220;Likes&#8221; and cross publishing from the WordPress blog to the Facebook Fan Page.</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/farm-to-table-restaurant-website/">Farm to Table Restaurant Website</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chrisgilligan.com/portfolio/farm-to-table-restaurant-website/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>E-Commerce Magazine Subscription Website</title>
		<link>https://chrisgilligan.com/portfolio/e-commerce-magazine-subscription-website/</link>
					<comments>https://chrisgilligan.com/portfolio/e-commerce-magazine-subscription-website/#respond</comments>
		
		<dc:creator><![CDATA[Chris Gilligan]]></dc:creator>
		<pubDate>Fri, 15 Jul 2011 14:59:51 +0000</pubDate>
				<category><![CDATA[E-Commerce]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Publishing]]></category>
		<category><![CDATA[Small Business]]></category>
		<category><![CDATA[american express]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[magazine]]></category>
		<category><![CDATA[mastercard]]></category>
		<category><![CDATA[online magazine]]></category>
		<category><![CDATA[online subscription]]></category>
		<category><![CDATA[paypal]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[subscription]]></category>
		<category><![CDATA[virtuemart]]></category>
		<category><![CDATA[visa]]></category>
		<guid isPermaLink="false">https://chrisgilligan.com/?p=447</guid>

					<description><![CDATA[<p>Light Sport &#38; Ultralight Flying Magazine needed an easy-to-manage e-commerce solution, coupled with Content Management and slideshows. I used Joomla plus VirtueMart, and SlideShowPro to give them a sophisticated system that is simple to use. The magazine has been in circulation since 1975, so the publishers know how to survive and thrive. Online sales &#38; [&#8230;]</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/e-commerce-magazine-subscription-website/">E-Commerce Magazine Subscription Website</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="float: right; margin: 0 0 10px 15px; width:240px; height: auto;">
		<img src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-1.40.53-PM.png?x25141" width="240" style="max-width: 100%; height: auto;" />
		</p><p>Light Sport &amp; Ultralight Flying Magazine needed an easy-to-manage e-commerce solution, coupled with Content Management and slideshows.</p>
<p>I used Joomla plus VirtueMart, and SlideShowPro to give them a sophisticated system that is simple to use.</p>
<p><div id="attachment_448" style="width: 310px" class="wp-caption aligncenter"><a href="http://www.ultralightflying.com/"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-448" class="size-medium wp-image-448" title="Screen shot 2011-07-15 at 1.40.53 PM" src="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-1.40.53-PM-300x244.png?x25141" alt="" width="300" height="244" srcset="https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-1.40.53-PM-300x244.png?x25141 300w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-1.40.53-PM-1024x835.png?x25141 1024w, https://d2lehxir4n36oh.cloudfront.net/wp-content/uploads/2011/07/Screen-shot-2011-07-15-at-1.40.53-PM.png?x25141 1103w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-448" class="wp-caption-text">Light Sport &amp; Ultralight Flying Magazine website</p></div></p>
<p>The magazine has been in circulation since 1975, so the publishers know how to survive and thrive. Online sales &amp; subscriptions give the print magazine a fighting chance against online outlets in a tight niche market.</p>
<p>The post <a href="https://chrisgilligan.com/portfolio/e-commerce-magazine-subscription-website/">E-Commerce Magazine Subscription Website</a> appeared first on <a href="https://chrisgilligan.com">Chris Gilligan » new media</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://chrisgilligan.com/portfolio/e-commerce-magazine-subscription-website/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Page Caching using Disk: Enhanced 
Content Delivery Network via Amazon Web Services: CloudFront: d2lehxir4n36oh.cloudfront.net
Lazy Loading (feed)

Served from: chrisgilligan.com @ 2026-07-04 20:19:47 by W3 Total Cache
-->