(defun org-hugo--collect-table-metadata (info )
  "Collect all menu-related metadata for export.
INFO is a plist holding export options.
returns a nested plist of the form:
(menu '(menu-name '(option-name option value) option-name2 option-value2...) "
  (let* () (menu-attributes '(:hugo-menu-parent :hugo-menu-weight))
        (cl-loop for att in menu-attributes


Assignments for HIS455 are linked here as I put them up on the site. See the Syllabus for an overview of assignments and their values.


Your participation mark is quite substantial (20%) and reflects the collaborative nature of the seminar. The mark reflects your participation in class discussions and also in offline discussions on Slack. Here are some hints about what constitutes excellent participation in this class. In a few places I have added links – please follow them and read the more substantive discussions you’ll find there.

How to create a discussion question

Formulate a good discussion question that will be interesting to other students and call for some thinking about the reading. Try also to find a question that genuinely interests you.

The following are characteristics of a good discussion question:

  1. A discussion question cannot be answered yes or no.
  2. A discussion question cannot be answered with a fact.
  3. A discussion question should not require a personal opinion outside the reading.
  4. A discussion questions should redirect the discussion to the reading itself.
  5. A discussion question should ask the discussants to explain the author’s meaning and not simply quote the author or authors.
  6. A discussion question should indicate that the person who posed the question is actually curious about the answer.
  7. A discussion question should be answerable with evidence from the reading and common information that has preceded it in the course.
  8. A discussion question should permit several interpretations. In other words, it should be rich enough to offer several possible directions in its answers.

Class Project Overview

The class project, which will occupy most of the class’s second semester and some of the first, is always a substantial collaboration between some or all of the students in the course, and a community organization. In most years, we work with one or more local history groups. This year we will be working exclusively with the Khangchendzonga Conservation Committee (KCC), a local NGO in the Indian Himalayan State of Sikkim. This is a very exciting change for Hacking History, and also represents the first phase of a broad collaborative project involving a number of other scholars. The project is an opportunity to offer a substantial service to an incredible organization, while rapidly learning about an enormously interesting and diverse region, rich in cultural and ecological heritage.

Unusually for this class, some of the parameters for this class have already been laid out in a Memorandum of Understanding between the KCC and the leaders of the broader project. Here are some highlights of that document, plus some further constraints:

  • The website we’re building will serve two functions:
    • a general purpose website to serve as the KCC’s public presence (their current website dates from 2004 and has very little information)
    • a historical section which will provide context for the KCC’s current work and an archive of some of their most important documents, e.g. the training manuals from their education programs
  • Website content will be based in part on student term papers, and will draw upon an already-existing archive of digitized material from the KCC.
  • The website will run the Wordpress software, a user-friendly, open-source content management system.
  • Students will design the website by modifying an existing Wordpress theme, probably one based on the Bootstrap web framework.
  • Students will write most of the content, but images will be drawn from a large archive belonging to the broader project and the KCC
  • KCC is a small, under-resourced NGO located in a remote village in a developing country. As a result, particular attention needs to be paid to code quality & accessibility. We will also need to build an excellent online help system as part of our project.
  • Sikkim is a multilingual state. For the first time, Hacking History students will need to pay attention to internationalization and multilingual content.
  • After the academic year has finished, there may be an opportunity to travel to Sikkim and present the website to the KCC. More information on this possibility will follow late in the Fall semester.

A primary goal of this class is to create something of lasting value to yourself, the KCC, and the community it serves, so that your work endures beyond the temporal scope of the class. The project is worth 45% of your final mark, but this percentage is distributed between various parts of the project. A high premium will be placed on timely, regular progress made towards intermediate goals, to help make sure that these complex and difficult projects come to fruition. The class is a large working group; as a result, you will specialize quite a bit and it may be difficult to co-ordinate work effectively. We’ll discuss tools and strategies for project management along the way.

Collaboration and Service

We should perhaps distinguish between two kinds of working together for this project. On the one hand, you will be working closely with your peers. As a result, you have an additional responsibility to your working group – your lapses affect them too. You’ll also need to be sure to communicate clearly and effectively with each other, both electronically and in person. Be sure that you know what each of you bring to & get out of the project; and how will you hand the project over.

You will also be working together with an organization that will be depending on you. In this respect, you act as emissaries of the University and of the course. You are expected to be respectful, courteous, and responsive.

General Project Parameters

The finished product should be a polished website which is directly of use to the partnering organization; it should also be an intellectually honest endeavour which takes seriously the historian’s responsibility to tell truths about the past. Your work will, then, be held to a relatively high standard – I’m asking a lot of you. Do not put anything off till the last minute. In a complex project like this you will be surprised at the number of tasks there are to accomplish. In particular, you’ll gain a lot by attacking your organizational tasks as early as possible.


Previous years’ projects are mostly linked to from that year’s course website. You may be particularly interested in the project from 2015. They are all great, so look there for some inspiration. Please note that these sites were made by students with no prior technical experience; if you’re in that category they may look daunting right now, but don’t be discouraged, you’ll learn what you need to in time to make something really cool. (But: this year’s project is for sure the most ambitious we’ve ever attempted. Yay!)

Technical Parameters

If you have no technical background, this may not make much sense to you in the first class, but as the semester progresses you’ll understand more. Here are some of the technical skills you will be using in your project:

  • Web hosting: I will provide hosting for class websites at hackinghistory.ca.
  • Theme Development: each of these websites will come equipped with a starter theme with which I have some familiarity. Over the course of the project, you will adapt that theme to serve your purposes. This means you will work directly with:
    • Style: changing CSS files to give the site a new look-and-feel
    • Structure: modifying HTML templates to change the arrangement of elements on various web pages
    • Functionality: installing Wordpress plugins, and tinkering with PHP and Javascript code, to get the functionality you and your partner need
  • Text editing: in order to do all of the above, you should become at least a little familiar with a text editor. Ad described in “Tools”, the Atom editor is the best choice. Later in the term we will also go over various ways to edit code directly from the Wordpress administrative interface.

Human Subjects Ethics Review

Our project will make use of interviews conducted under a protocol approved by the Unviersity’s Ethics Review Board. You are advised to familiarize yourselves with the University’s Ethics Review process, and we will discuss general guidelines for oral history research in the early part of the Fall semester.


The final project will be evaluated based on its success in meeting the goals outlined in the proposal, on the integrity of historical analysis, on the aesthetics of the presentation, and on the satisfaction of the community partners with your work.

Component Due Date Group/Indiv % of Course Grade
Proposal & Presentation 12/05 Group 10
Interim Report 02/07 Group 10
Final Product 04/04 Group 20
Partner Response Group 5



The proposal is a substantial group effort which involves the submission of a formal document to me and to your partner, as well as a presentation component. Read more about it on its own page.

Interim Report

The Interim Report is a report back to me and to your partner on the progress you’re making. It will be about 8-10 pages long, and indicate :

  • how much of the website content you’ve completed, and whether there are any serious problems that might require you to change your focus.
  • how much of the website design is complete, and where you expect further challenges
  • in what ways you find yourself departing from the plan agreed upon, and why.

Final Product

The Final Product is a fantastically intricate and rich historical website, with lots of exciting bits of information presented in a vigourous, interesting, and visually appealing manner.

Partner Response

I’ll ask the KCC for feedback on your work, and take that into account in my final grade.

Project Proposal

The project kicks off at the end of Fall semester with a formal proposal and presentation. The written proposal will be submitted not only to me, but to the KCC as well, so it is an important document.

What is this project proposal thing for anyway?

A project proposal is a roadmap and guide to the final project. You yourself will consult it many times over the course of the semester, as you struggle to keep track of what you have promised to do. Your partner (who will respond to your proposal with feedback & perhaps call for some changes) will also refer back to the proposal when you present them with the final product. so it’s a very important document. But what goes in it?

The proposal is a complicated document that walks a fine line: it should present an exciting vision without promising too much; it should present a compelling historical narrative even though your real knowledge about the subject is still somewhat limited; it should propose a look for the website even though what you produce will certainly look different. Here is what I expect from this proposal document:

  • a substantial piece of writing that describes your goals for the site in some (but not too much) detail. More on that below.
  • a preliminary bibliography, of as many different sources as you can muster. Light annotation is a plus (not a paragraph-long description of each source, as in a formal “annotated bibliography”, but a sentence or two describing the value of the work to your project). You’re going to end up doing a lot of research for this project, so “as many sources as you can muster” should not be 5 or 6, but more like 20 or 30.
  • mockups of representative site pages – this means the front page, a couple of the main pages you plan, and some pages for the main datatypes (posts, events, historical photographs, artefacts, oral history pages, whatever).

The Main Proposal: defining your project

This is a substantial document (3000 words or more) which the group should produce together (so, divide up the work – see below). Here’s what it should cover:

  • Scope/Introduction: What is the topic of your website, and what kinds of information will it provide? Why is it useful/important/interesting? Who is the partner, and how does it benefit them? What topics/tasks are out of scope? this latter question, which is sometimes hard to answer, is an important one to think about – setting yourselves limits is an important part of making the project feasible. Your partner will be reading this, so emphasize that you wil lbe uilding a website based onteh Wordpress framework, with light modifications & additional plugins.
  • Audience: who wants to visit this site, and what will they do there?
  • Structure and Presentation: Describe the layout and structure of your website as well as you can. Refer to the mockups, and feel free to draw diagrams (showing, e.g., how people are likely to move around the site, or what the hierarchical relation of pages is, etc.). Describe in some detail what kinds of information each type of page will have. In your description, say why you chose this particular organizational structure – why are these the most important navigational axes for your site?
  • Research Methods: What do you have to learn, and how will you do it? E.g., mention that you will do oral histories if you intend to; or that your will access architectural records in the Toronto Archive, if you intend to do that. consider also what the most interesting historiographical questions are – what are the puzzles that interest/motivate you?
  • Challenges: Describe as specifically as you can the difficulties you expect to face, and how you hope to overcome them. If your group is missing skills that you need, again, be as specific as you can about what you need to know and how you might address this need.
  • Roadmap: When do you expect to get your work done? The final website is due in class Apr. 4. You will need to get something done every week until then (!) to make this project great. What are your goals for each week? Also, who is doing what? each person in the group should have specific responsibilities to which they commit. These may change around a bit, and you will all help each other with your assigned tasks, but laying out expectations in writing makes it more likely that things will get done.
  • Working with your Partner: Describe in as much detail as possible the relationship with your partner. Include e.g. discussion of:
    • How your work will benefit your partner
    • What resources will your partner bring to the project
    • What plans you have made for turning the project over to your partner


In addition to the main proposal, you should include mockups of some of the main pages on the website, e.g., the front page and the layout for various content types. This is a proposal, and we understand that things will change as you go forward.

I recommend using the 960 grid paper we used in our mockup class, or this one, or one of these, or one of these, or one of these, or, especially for rough brainstorming, ZURB’s own sketchsheets for responsive design or this nice little collection. Refer back to your excellent reading – your mockups will work best if they indicate some (but not all) of the interactions you expect people to have with the site.

User Personas

Include a representative sample of User Personas like the ones we did in class (but more professional). Add sections explaining how the user will likely navigate through the site.

We’ll use these documents to create simple “user stories” that help us add features later on in the project.


You wil lbe required to use Zotero and the class bibliography in all your work from this point on.

Essay Assignment

Due 01/16


Write an 8-10 page paper on a research topic related to the KCC. This is an ordinary research paper of the kind you have done many times before; an excellent basic guide to writing history papers is available on the writing centre website.

Choosing a Topic

Hopefully many aspects of the project interest you (this document will be updated with a list of suggestions several weeks into the semester). Choose a topic which is broad enough to sustain a mid-length argument of the sort normally found in this type of short research paper. This is a small class, and you see me every week; you should check in with me before the end of the semester to ensure that your topic is a good one.

The research paper stands on its own, but in most cases pieces of the paper can be recycled into the website proper. For this reason, it’s best if group members can choose a variety of topics not too closely bunched to one another. Consult with your classmates about their plans, and if possible avoid excessive overlap in your paper topics.


As has doubtless generally been your experience, marking proceeds on an evaluation of:

  • Originality and thoughtfulness of your thesis: Are you making an interesting argument? Is it yours or does it belong to one of your sources?
  • Quality of your evidence: do you present convincing evidence for each of your claims, supported by compelling arguments?
  • Structure: is your paper easy to follow, and does each part flow naturally from what comes before?
  • Style: is your paper a pleasure to read?
  • Attention to Detail: are your citations properly formatted (please use Zotero and add your citations to the class Zotero bibliography), have you avoided typos, etc.?

(listed in approximately descending order)

Number of Sources

Please don’t ask me how many sources you need. As many as are required! The most interesting part of writing a research paper is doing primary source research, and we are privileged to have a substantial archive of primary sources direct from the KCC. Please make the most of them.


Due 09/26 before class

You do not have to become a coder to do well in this course. However, you will have to be willing to explore technical skills that you might not otherwise develop as a humanities scholar. In this initial assignment, we’ll use one of the web’s many excellent self-education platforms to learn the very basics of how web pages work.

Web pages are composed of three components: HTML, CSS, and Javascript. HTML provides the structure and content of a web page; CSS controls the style of presentation; and Javascript permits dynamic modification of both. To explore the web from the inside, you need to be alittle bit comfortable in all three.

Assignment A (for beginners)

Codeacademy.com is a platform that focusses on teaching web skills; head over there and set up an account. Once you’ve done that, complete the HTML & CSS course, which will take about 7 hours.

Once you have finished, send me a link to your profile page (click “view my Profile” under the top right menu item with your picture on it). That’s all! But feel free to continue exploring on Codeacademy – there’s lots to learn and much of it will be helpful to this course, or to your further explorations in this field.

Assignment B (for returnees)

If you are already a hotshot coder, or if you took Digital History last Spring: codacademy is not for you!

  • return to (or set up) your Github account
  • clone my html-tutorial-ex tutorial
  • write a short tutorial about one of the following:
    • the HTML5 <audio> and <video> elements
    • HTML tables
    • “new” semantic tags such as <aside>, <article>, <header>, <footer>, etc.
    • CSS float
    • Padding and Margins
    • Flexbox or CSS Grids

Your tutorial should include a README.md that explains the function of this HTML/CSS feature to the reader, and a practical example that the reader can play with to understand it. The playground should take the form of one HTML and one CSS file. Once you’re done, you should feel free to set up a tiny jsbin with your sample code; this will make it a bit easier for your readers to mess about.

You can learn more about git and Github here. This information will come in handy later, so it’s well worth your time now.

STA 02: Oral History

The documents we inherit from the KCC include a number of oral history interviews conducted by a researcher over the summer. They describe the work and development of the KCC. In this assignment, you will choose one oral history file and write a short essay about it. The “technical” part: you will write this assignment in markdown, in a separate file which will be loaded into a one-page website and displayed as HTML. Your text should reference the oral history and, in particular, should point readers to specific passages in the interview by the use of time-code links (the assignment repository describes in detail how to do this).

Content of your Assignment

Your written assignment should be approximately 400 words in length, and should identify

  • issues of interest to you, and to the team project, which arise in the interview
  • reflections on the use of oral history sources, e.g.:
    • what additional information do you get from listening to the original oral history source?
    • what is missing? what do you wish the interviewer had done differently? will you treat this source any differently from the way you would treat a written source?

In both cases, please make references to specific passages in the interview. Since this is a web-based project, you may want to include a few pictures as well, and perhaps make changes to the CSS and HTML of the appropriate files. Depending on the pace of our data-processing project, we may be able to provide you with PDFs of supporting texts as well.

I’ll provide you with a choice of files shortly.

Choosing an Interview

We have a small selection of oral history interviews for you to choose from. All of these were conducted by a student research assistant in Yuksom in July and August of 2017, with founding members of the KCC. You may find that you have to sneak ahead to the next couple of weeks of reading in order to make sense of the context for the interviews. It’s all information you’ll need to know eventually; and if you have questions that are difficult to resolve, Slack is a good place to ask them.

  • Chewang Bhutia, Aug 9, 2017: Chewang Bhutia is a guide and one of the earliest founders of the KCC. The discusses the early days.
  • Pema Bhutia, June 29, 2017: Brief, but rich discussion on the origination of the KCC by its President, Pema Bhutia, one of the founding members. Pema describes the situations in West Sikkim which inspired the establishment of the organization: un-regulated tourism practices (non-eco) – the extraction and depletion of Rhododendron wood for fires and medicinal plants in the KNP, garbage accumulations, poaching of wild animals, etc. Pema also discusses the Sikkim Biodiversity and Ecotoursim Project and the first KCC projects: taking volunteers to clean the trail; tour guide, pack-animal operator and lodge operator training projects and manuals; the formation of ESPAY; early finances; festivals; cultural programs; the PRA; KCC moving forward.
  • Pema Bhutia & Tsering Uden Bhutia (undated, summer 2017): A discussion with Pema Bhutia and another founder, the current director Tsering Uden Bhutia, about the establishment of a UNESCO World Heritage Site at the Khangchendzonga National Park. Particular emphasis of the designation of the area as a natural and cultural site (these mixed designations are very new).
  • Uden Bhutia on ecotourism, June 28, 2017: Uden Bhutia discusses the KCC’s concept of ecotourism and its relevance to local development.
  • Uden Bhutia on Porters, June 28, 2017: Uden Bhutia discusses porter training and its relevance to the overall goals of the KCC.

Getting the assignment and handing it in

To start work on the assignment, follow the instructions in the README on Github. To hand in, submit a pull request as outlined on the same page.

Due Date is Oct. 24

ACTION STA 03: Wordpress Sites

Wordpress is a sophisticated “Content Management System” that uses a database to store your content, and a set of short programs written in the PHP programming language to present that content in a consistent manner. In this assignment you will set up a very simple website to explore some of the possibilities for your course project. There are many parts to this PHP “engine”, but one of the most important, and easiest to manipulate, is called a theme. Wordpress themes are potentially very powerful, but they can also be quite simple. You have already explored some of the sophisticated themes available to you in the Wordpress theme repository. We will now go backwards – far, far backwards – and use a trivially simple theme, one so simple that you can easily edit it yourself. The Wordpress Learning Theme is already installed on all your sites. [Note 10/31: please wait a day or two before hacking directly on the theme as I hope to make some updates in the next couple of days]. In this assignment you will:

  • activate the Wordpress learning theme via the Wordpress dashboard
  • make changes directly to the theme via Atom
  • deploy your changes to your Wordpress site [details coming soon!]
  • Add sample content to your site, testing some of the structures that might be useful to the class project
  • Update menus to reflect the added content


You should make at least the following changes:

  • Add minimum 4 top-level menu items
  • Add at least 5 sub-menu items
  • Make at least 5 style changes to style.css
  • modify at least 2 templates

Your website should also reflect some of the main themes that you think are likely to be important to the project website. consult the KCC-UofT Memorandum of Understanding for guidance.

Stretch goals

  • learn about the Wordpress Template Hierarchy and create an additional category template
  • learn about Worpdress Content types and create a new type. Think about what purpose such a type would serve

Theme Development

For details see the Lab page (soon as I get it running!).

In this exercise we will start modify a very, very simple theme, changing the colour scheme and layout of your website’s presentation.