We generate a Wordpress XML export file that Squarespace understands.

https://support.squarespace.com/hc/en-us/articles/206543957-Importing-content-from-WordPress-Blogger-or-Tumblr

Data

  1. Get the most up to date game spreadsheet. We need these fields: name, studio, description, image1, image2, web, studio_web, twitter, facebook, other, video_link
  2. For the “learn more” link, web is used if it exists, otherwise studio_web is used. Squarespace treats a URL with missing protocol as a RELATIVE LINK, so make sure that all links start with either http:// or https://
  3. Sort the data by name in REVERSE ORDER (i.e., Z to A). Squarespace orders blog posts from newest to oldest.
  4. Export the file as CSV if it isn't already, then convert to JSON here with the default settings: https://www.csvjson.com/csv2json
  5. Copy and paste the result into a new text file and save it as <FESTIVAL YEAR>.json. Example: 2020.json, 2021.json, etc.
  6. node MIVS_Squarespace_XML_Generator.js 2020.json > MIVS_Full_Import.xml

MIVS_Squarespace_XML_Generator.js

  1. Create a free temporary site on Squarespace and upload the xml to test. Settings → Website → Import & Export Content → Import → Wordpress → Advanced Remember to reload the page in your browser when it’s complete.
  2. Ask someone with Squarespace admin access to import the xml file to magfest.org.
  3. The game grid consists of one or more "Summary" blocks. Each one can show a max of 30 games, so you'll need to add a block for each group of 30. The script creates categories for this (group1, group2, etc.) in the blog, so you just need to select that category in the block settings after adding (Content → Filter Items → Category). Also change the Primary Metadata field from Date Posted to None. On the Design tab, change the layout to Grid, the Number of Items to 30, and the Aspect Ratio to Widescreen. At some point you’ll want to repeat this process for the MIVS Archive page.

Post-Import Cleanup

Squarespace doesn't import any style information. You can try putting raw html in the import and it will sometimes work, but if you have to manually edit the page in Squarespace it will strip most HTML tags & attributes on save. The solution is to use custom CSS/JS after import, but only Squarespace admins have access. (Blog Settings → Advanced → Pag+++++++++++++e Header Code Injection)

This fixes the style on the "LEARN MORE" link with the current (2020) website layout. This is the same style used when manually adding a button to a page.

<style>
.entry-content > div > div > div:last-child a {
      background-color: rgb(173, 14, 18) !important;
      color: rgb(255, 255, 255) !important;
      font-family: Dosis !important;
      font-size: 15px !important;
      font-weight: 700 !important;
      height: auto !important;
      letter-spacing: 3px !important;
      line-height: normal !important;
      padding: 21px 34px !important;
      text-align: center !important;
      text-transform: uppercase !important;
      transition: .1s opacity linear !important;
      width: auto !important;
    }
</style>