We’re excited to launch Recetas de las Américas / Recipes from the Americas, a digital humanities project we created to explore food in our papers!
This project currently features approximately 50 recipes of dishes from all over Latin America and the Caribbean. The recipes were pulled from the newspaper, Diario de las Americas, a Hispanic newspaper we digitized content from for NDNP. The recipes were printed in Spanish, since this paper primarily published in Spanish. The project therefore provides access to the original recipe published in Spanish, but also offers versions translated to English.
Recipes allows users to engage with newspaper content in an interactive way. When you visit the project site, you can look for recipes in one of two ways by: 1) using Filter (filtros), or 2) using Recipes (recetas).
The Filter tab allows for searching the recipes by either entering a keyword or by clicking on one or more of the tags listed under the Dietary Restrictions, Course, and Ingredients lists.
Selecting a tag from any of the lists will filter/narrow down the list of recipes that appear on the right-hand side of the page to show only recipes that either fall under that dietary restriction/course or include the ingredient(s) selected.
Additionally, you can select one or more tags that are included in the recipe cards that appear on the right-hand side to do a reverse search of ingredients.
Once you have a list of filtered recipes populated, you can select to view the recipe by clicking on the recipe name. This will bring up a page that displays the recipe for you. You will then see a typed list of the ingredients and directions, along with an image of the original recipe from the newspaper. This page also allows you to view the original recipe in Chronicling America as well as provides the option to print a recipe card we created.
The Recipes tab provides a list of all the recipes this project site offers, listed by title in alphabetical order. This page also allows for keyword searching.
Recetas was built using the static site generator Hugo after significant data transformation using Oxygen XML Editor.
Metadata and contents for each recipe were collected manually from the Chronicling America website and stored in an Excel spreadsheet. The spreadsheet contains essential metadata as well as specific text content for the directions and ingredients taken from the OCR file provided by Chronicling America.
We then also added ingredient lists and assigned other tags for dietary restrictions and courses and translated the content into English using Excel’s built-in translation feature and manual editing.
Once the data was collected, we transformed the data into the formats used by Hugo to generate the site —Markdown, HTML, and JSON— in Oxygen XML editor.
To create the required MD and HTML files we imported the Excel spreadsheet as an XML document directly in Oxygen. From there we transformed the XML into MD and HTML files using XSLT stylesheets and transformation scenarios in Oxygen.
For JSON, we used Oxygen’s built-in tools to convert the XML version of the spreadsheet into JSON. This conversion was not seamless; Oxygen does not allow for customization of the transformation with this tool. We manually corrected the JSON using regular expressions and find and replace.
Markdown files were populated with the metadata fields of the spreadsheet, including the paper, source URL, ingredient list, course, and dietary restrictions tags. For every recipe there is an English and a Spanish MD file.
HTML files were created using the directions and ingredients lists with quantities. These HTML files are only partial and are combined with other partials by Hugo to create the final page.
Hugo uses MD files and templates as instructions for how to build each page of the website. Full documentation can be found at https://gohugo.io/documentation/.
One important think that Hugo does is automatically index the website using the data in the MD files. One example of this automatic indexing is the Recetas tab which lists all recipes in alphabetical order.
There are also index pages for each ingredient, course, and dietary restriction created by Hugo. These index list pages are not explicitly linked to in the final site, but they are always built by Hugo and can be accessed using the address bar. (Eg. All recipes containing eggs: https://recetas.domains.uflib.ufl.edu/ingredientes/huevo/)
The filter page was made using Hugo’s automatic indexing as well as the JSON data file.
The left side of the filter is populated using the metadata fields in the MD files. Hugo generates a list of every unique ingredient, course, and dietary restriction. The right side of the filter page was made using the JSON data file, pulling the title and tags for each recipe then using a template to organize it into a virtual recipe card.
The two are brought together through a handwritten JS function which searches the page for the selected tag and hides recipes without it from view.
The website is hosted by UF libraries at no cost to the project. The fact that the website is static, Hugo generates a final folder of all the HTML files required for site, makes it much less expensive in terms of space, time, and money to host.
Once the files are up, they require no further monitoring.
We’ve enjoyed working on this project and would like to continue developing it. In future iterations, we hope to:
- Edit the ingredients/tags lists to remove some items that appear duplicated and/or can be categorized together. For example: oil (olive oil, oil, etc)
- Add publication information directly to the recipe pages so title of the newspaper and place and date of publication are noted underneath the recipe clip provided.
- Expand the number of recipes! Our hope is to pull additional data from Chronicling America to include recipes from to include new recipes from other papers we have digitized.
- In addition to adding more recipes, we would also like to dig a little deeper and explore recipes/ingredients across time and place.
- Expand the number of pictures we showcase on our homepage. Please try a recipe and submit a photo to firstname.lastname@example.org or tag us on Facebook and Twitter (@ufndnp).