Next-generation academic websites in Jekyll
Speaker: UCCSC! Peter Werba 2014 How do we share information in the modern era? Websites!
wikipedia.org ucsf.edu nytimes.com A lot has changed
1999 2014 How do we make sure that our websites are:
• available 24/7 (even with heavy traffic)!
• easy to create, edit, and maintain!
• scalable How did we work! last decade?
• Dynamically generated pages in CMS systems!
• Maintain our own servers and databases !
• HTML often edited in the browser What are the problems?
• Configuring & maintaining servers & databases = HARD!
• Editing HTML source = HARD We can do better!
In fact, the software industry has moved on! What do they do? 1. HTML → TXT (with Markdown) 2. Dynamic → Static (with Jekyll) 3. Servers → Hosted (with GitHub) 1. What is Markdown? TXT files with! simple syntax that ! compile to HTML HTML MARKDOWN Why use Markdown?
• Simple, fast, clean!
• Portable to other formats!
• Supports raw HTML (if you need to do something complicated)!
• Widespread (and growing) adoption 2. What is Jekyll? Jekyll is a “static site” generator that converts source files! (markdown, etc.)! into a website Basics about Jekyll
• Simple to install as a Ruby Gem, but no Ruby coding knowledge is required for use.!
• Converts your code and Markdown posts into HTML!
• An elegant and simple way to publish to the web. Why use Jekyll
• SAFE from Denial of Service Attacks.!
• SAFE from caving under heavy traffic (if served from GitHub pages or a CDN like cloudfront).!
• SAFE from MySQL injection attacks (because it doesn't use a database).!
• It needs NO security patches or updates.!
• It doesn't need any special server script software (like php,python or ruby or perl etc). Who is using Jekyll ?
• Not just for “small” websites… used by the Obama Fundraising Campaign site in 2012.!
• GitHub is running Jekyll.!
• Many blogs migrating away from WordPress Installing Jekyll
• Installs as a ruby “gem” easy to update and maintain.!
• Excellent documentation at http://jekyllrb.com/docs/home/ Where is the Content?
jekyll comples ! everything to _site “default site build” Jekyll vs. CMS
• No need to worry about constant "urgent" software updates.!
• Simple article and post management.!
• No database, content is served up fast and it is very easy to find info in content.!
• SEF/Clean URL’s by default.!
• Developer “git” driven workflow.!
• Clean templating uses “Liquid” for responsive designs. Other options like bootstrap are also available. 3. What is GitHub? • “Facebook for source code”! • GitHub Pages = free hosting of Jekyll-powered websites! • No servers to maintain, etc. Why use GitHub and GitHub Pages?
• Seamless integration to GitHub Pages.!
• No need for you to create or remember a password. You can make changes via git or the GitHub account.!
• Free for each GitHub account and organization. Unlimited project sites. Why use GitHub and GitHub Pages?
• Automatic versioning of your site keep track of past content changes as well as code changes.!
• Easy to preview changes before committing them to production.!
• Easy to revert your code to a previous version. +
= Conclusion Jekyll + GitHub Pages gives you websites that are…
• affordable (free if using GH-pages)!
• flexible and scalable!
• solid static HTML “just works” Enjoy your stay in San Francisco!