issue⁄Content Management: Content creation, Archetypes & Associations (this will be internal) 🦺
abstract⁄This contains archetypes for creating content, as they can be found at /root/archetypes/
Leave draft:true
keywords⁄internal, guide

1. Content creation workflows

There are two main workflows for creating new content (new Markdown files). Both workflows make use of Git commits, and require write access to the project repository. These are:

In either case, make sure to:

For parenting and associating content see article⁄Parenting and Associating entries.

2. Filename conventions and instructions for creating new entries

File naming:

Examples and instructions per entry type:

Type Filename convention Instructions template (archetype)
contributor name-surname.md article⁄New contributor archetype
editor name-surname.md article⁄New editor archetype
issue (x is number) issue-x.md article⁄New issue archetype
article article-short-title.md article⁄New article archetype
print p-issue-x.md article⁄New print archetype
Table 1: Filename conventions and instructions per content type.

3. Archetypes

Archetypes are template files for new content. However, these are only taken into account when new content is created via the terminal (not via the preview page). Archetypes are located at the directory /root/archetypes/ which includes one Markdown file per content type (i.e. issue.md, article.md, etc.).

The archetypes include a list of instructions, per content type, for properly creating, editing, and committing new content. These instructions are included in new content created via the terminal.

The same instructions are also provided in the contents of this issue (see articles linked in Table 1), which can be copied to new entries created via the preview page.

4. Title emojis

It is recommended to use emojis1 in the title of any new and WIP items, to keep track of unpublished content as well as potential mistakes. Each new item created from archetypes (via the terminal) will feature two emojis: one to signal a draft (⚫) and a second one associated its particular content type (e.g. 📕📑🧜♕🖶☮). It’s recommended to keep at least the draft emoji as long as an item is in preparation. The table below describes the logic of emojis used.

Emoji Description
draft/WIP entry (included in all new items; removed only when the article is ready for publishing)
📕 new issue entry
📑 new article entry
🧜 new contributor entry
new editor entry
🖶 new print entry
new journal entry (!do not create new journal entries!)
Table 2: Descriptions of emojis placed in the title of new entries.

  1. Emojis found at www⁄https://www.compart.com/en/unicode/ ↩︎

article⁄Content creation via online preview site 👷
article⁄Content creation via online preview site 👷
abstract⁄(Internal) Guide for creating new content via the Sandpoints preview page.
keywords⁄internal, guide

1. Creating new content via the online Sandpoints preview site

Sandpoints provides a preview page that allows for both creating new entries and also editing existing entries via a browser, without the requirement of a local clone of the project. Any action will open a new tab at the project repository page, and requires the user to be logged in to the project repository.

To access the preview page append /_preview/ to the sitemap URL.

Notes:

2. Filename conventions and instructions for creating new entries

File naming:

Examples and instructions per entry type:

Type Filename convention Instructions template
contributor name-surname.md article⁄New contributor archetype
editor name-surname.md article⁄New editor archetype
issue (x is number) issue-x.md article⁄New issue archetype
article article-short-title.md article⁄New article archetype
print p-issue-x.md article⁄New print archetype
Table 1: Filename conventions and instructions per content type.

3. Steps for creating new content

  1. Create a new file, named according to §⁄file naming conventions.
  2. Open the new file, and copy the YAML sample and instructions corresponding to the content type of the new file (Table 1)
  3. Fill in the metadata fields:
    1. add your name in the author field
    2. edit header information (title, keywords, abstract, etc.)
  4. Edit content.
  5. Commit changes via Git when necessary.
  6. When editing is done and the new entry is ready for publishing, change draft: true to draft: false.
  7. Commit changes via Git.
  8. To recompile the site and include these changes include the keyword !publish! in your commit message.

4. Preview site interface

The preview site features a toolbar with five options (Screenshot 1), explained in the table below.

Screenshot 1: Sandpoints online preview site; edit options.
Screenshot 1: Sandpoints online preview site; edit options.

Preview site options
EDIT_THIS edit the current page
ADD_JOURNAL / ADD_ISSUE / ADD_ARTICLE create new entry by type
PUBLISH recompile the website to include any unpublished changes
? open the repository website
Table 2: Sandpoints online preview site edit options explained.

5. Editing & new item creation

All modifications (edits or new items) are carried out as git commits (Screenshots 2 and 3).

Screenshot 2: Sandpoints online preview site; interface for editing entries (EDIT_THIS).
Screenshot 2: Sandpoints online preview site; interface for editing entries (EDIT_THIS).

Screenshot 3: Sandpoints preview site; interface for creating new entries (ADD_ARTICLE)
Screenshot 3: Sandpoints preview site; interface for creating new entries (ADD_ARTICLE)

article⁄Content creation via the terminal 👷
abstract⁄(Internal) Guide for creating new content via the terminal.
keywords⁄internal, guide, journal management

1. Creating new content via the terminal

The optimal way for creating new content (a new Markdown file) is via the terminal. To do so open a terminal window and navigate to the root directory of the project. The general command pattern for creating new content is:

hugo new <contentType>/filename.md

Where <contentType> corresponds to a predefined type and corresponding folder (article, issue, contributor, editor, and print). When created via the terminal, each newly created item:

Make sure to follow §⁄file naming conventions, and provide adequate commit messages for any additions or modifications.

Note: this workflow requires a local clone of the repository as well as a Hugo installation, in addition to repository credentials.

2. File naming conventions, Hugo commands, and instructions for creating new entries

File naming:

Examples, Hugo commands, and instructions, per entry type:

Type Filename convention Hugo command Instructions template
contributor name-surname.md hugo new contributor/name-surname.md article⁄New contributor archetype
editor name-surname.md hugo new editor/name-surname.md article⁄New editor archetype
issue (x is number) issue-x.md hugo new issue/issue-x.md article⁄New issue archetype
article article-short-title.md hugo new article/article-short-title.md article⁄New article archetype
print (issue) p-issue-x.md hugo new print/p-issue-x.md article⁄New print archetype
print (article) p-article-short-title.md hugo new print/p-article-short-title.md
Table 1: File naming conventions, Hugo commands, and instructions per content type.

Note: Creating a new print file can break the site if (a) the print: target points to an inexistent file, or if (b) a public print item points to a non-published target.

3. Archetypes

New content is generated following archetypes (see root/archetypes/). Archetypes are Markdown files and can be thought of as templates that pertain to specific content types, and dictate the content to be included upon creating a new file.

Currently, archetypes will be generated with a set of instructions for their creator to follow in the form of a to-do list.

4. Steps for creating, editing, and publishing new content

  1. Create a new file, named according to §⁄file naming conventions.
  2. Open the new file, and follow the included instructions to fill in the metadata fields:
    1. add your name in the author field
    2. edit header information (title, keywords, abstract, etc.)
  3. Edit file content.
  4. Commit changes via Git when necessary.
  5. When editing is done and the new entry is ready for publishing, change draft: true to draft: false.
  6. Commit changes via Git.
  7. To recompile the site and include these changes include the keyword !publish! in your commit message.
article⁄Parenting & Associating entries 🔗
abstract⁄(Internal) Guide for parenting and associating entries.
keywords⁄guide, internal

1. Introduction

Sandpoints allows parenting and associating different content types. This is done in the YAML header of a Markdown entry. Parenting content is done by providing a list of filenames of the children of a given entry. Associating content is done by providing a list of filenames of the associated entries (for an issue or article).

As in the examples below, for either case:

  • provide filenames including extensions within quotations,
  • separate entries with commas, as in the examples below, and
  • make sure to leave a whitespace character been the colon and the square brackets.
  • Example flag: ["something.md", "something-else.md"]

2. Parenting content

Sandpoints follows a triadic hierarchy, which, here is Journal>Issue>Article, or:

Journal   
 └── Issue     
	└── Article

Thus, a journal has issues, and issues have articles. Following this convention, the YAML header section for each item that has children features the flag:

has_<child-content-type-in-plural>: ["child-1.md", "child-2.md"]

The YAML section for a journal instance has the field:

has_issues: []

And the YAML section of an issue instance has the field:

has_articles: []

2.1. Parenting issues to the journal

---
title: "Game Design Knowledge & Practice Journal"
has_issues: ["issue-1.md", "issue-2.md"]
---

2.2. Parenting articles to issues

---
title: "Some issue"
has_articles: ["article-1.md", "article-2.md"]
---

3. Associating content

Sandpoints allows associations between:

  • issues and editors, and
  • articles and contributors.

This is done by providing a list of editors in the YAML section of an issue, or a list of contributors in the YAML section of an article, respectively.

3.1. Associating editors to issue

---
title: "Some Issue"
editors: ["jane-editor.md", "joe-editor.md"]
---

3.2. Associating contributors to article

---
title: "Some Article"
contributors: ["jane-contributor.md", "joe-contributor.md"]
---
article⁄New Issue Archetype 📕
abstract⁄(INTERNAL) This is a copy of the archetype for new issues, and includes instructions for editing and publishing a new issue item, found at root/archetypes/issue.md
keywords⁄archetype, internal, guide

If creating a new entry via the terminal:

  • The Hugo terminal command for creating a new issue is:
    hugo new issue/issue-5.md
    
    This will create new file at content/issue/issue-5.md. The new file will be created according to the archetype for articles at root/archetypes/issue.md. The new file will be created as a draft (draft: true) and will contain the instruction steps below. Please complete all required steps before committing or publishing new content.

If creating a new entry via the online preview page:

1. Sample YAML header

If creating a new entry via the online preview page, the new entry will be created as an empty file. Please use the sample YAML file below as starting point, and also copy to the new file the instructions provided below.

---
title: "Issue title ⚫ 📕"
date: "2023-07-13T14:15:05+03:00"
author: "file-creator-put-your-name-here"
draft: true
has_articles: ["article-test.md"]
editors: ["jane-editor.md", "joe-editor.md"]
keywords:
  - draft
abstract: |
  The text of your abstract.
---

2. Instructions for issue-file creator/editor

  1.  Put a checkmark to all items of this list that have been completed by changing:

    1. [ ] to 1. [x]

  2. File naming: Follow article⁄conventions for issue file-naming. Example:

    issue-5.md

  3. (File editor) Insert your name in the author field inside “quotation marks” as in:

    author: "creators-name"

  4. Set the title to the title of the issue, as in:

    title: "Issue 5: What is Game Design Research?"

  5. Create entries for issue editors – if they are not there – and add their bio/info.
  6. Add issue editors as above (comma separated; inside quotation marks; including extension):

    editors: ["jane-editor.md", "joe-editor.md"]

  7. Add issue keywords – if applicable. Follow exact formatting as above, otherwise the site will break.
    keywords: 
      - keyword one 
      - keyword two
    
  8. Fill the issue abstract – if applicable. Follow exact formatting as above, otherwise the site will break.
  9. Add the articles included in the issue as above (comma separated; inside quotation marks; including extension):

has_articles: ["article-test.md", "article-2.md", "article-3.md"]

  1. Parent issue to journal - If, and only if this issue is ready to be published and draft: False you can parent go to content/journal/jgdr.md and add the name of this file (not title) to the field has_issues. Note: articles included in this issue will not appear unless this is parented to the journal item. Example:

    has_issues: ["this-issues-file-name.md"]

  2. Add issue-editorial text below this section.
  3. Log potential problems or pending tasks with this issue by making another check-list below (commented sample lists provided below).
  4. Git commit and push if/when applicable, providing a commit message describing your changes.
  5. Set the draft flag accordingly. False will make this public: only do that when ready to publish, and when there is already a ‘print’ file for the issue. Leave draft: true when in-progress.
  6. Feel free to put this block inside comments, to be able to view the actual content properly.
  7. Delete this section when all is in order.
  8. Done!
article⁄New Article Archetype 📑
abstract⁄(INTERNAL) This is a copy of the archetype for new articles, and includes instructions for editing and publishing a new article item, found at root/archetypes/article.md
keywords⁄archetype, internal, guide

If creating a new entry via the terminal:

  • The Hugo terminal command for creating a new article is:
    hugo new article/article-short-title.md
    
    This will create new file at content/article/article-short-title.md. The new file will be created according to the archetype for articles at root/archetypes/article.md. The new file will be created as a draft (draft: true) and will contain the instruction steps below. Please complete all required steps before committing or publishing new content.

If creating a new entry via the online preview page:

1. Sample YAML header

---
title: "Title sample ⚫ 📑"
date: "2023-07-13T14:15:10+03:00"
author: "file-creator-put-your-name-here"
contributors: ["jane-contributor.md"] 
draft: true 
keywords:
  - draft
abstract: |
  The text of your abstract.
---

2. Instructions for article-file creator/editor

  1. Put a checkmark to all items of this list that have been completed. This, by changing:

    1. [ ] to 1. [x]

  2. File naming: Follow article⁄conventions for article file-naming. Example:

    i5-short-title.md (where i5 is issue 5)

  3. (File editor) Insert your name in the author field inside “quotation marks” as in:

    author: "creators-name"

  4. Set the title to the title of the article as in:

    title: "An Answer to the Question: What is Game Design Research"

  5. Create entries for article contributors – if they are not there – and add their bio/info.
  6. Add the article’s author(s) in the contributors field as above (comma separated; inside quotation marks; including extension):

    contributors: ["jane-contributor.md", "some-other.md"]

  7. Add article keywords. Follow exact formatting as above, otherwise the file/site will break.
    keywords: 
      - keyword one 
      - keyword two
    
  8.  Fill the abstract following exact formatting like above, otherwise the site will break.
  9. Parent article to issue: go to content/issue/some-issue.md and add the name of this file (not title) to the field has_articles. Example:

    has_articles: ["this-articles-file-name.md"]

  10. Add article content text below this section.
  11. Log potential problems with this article by making another check-list below (commented sample lists provided below).
  12. Git commit and push if/when applicable; providing a commit message describing your changes.
  13. Set the draft flag accordingly. False will make this public: only do that when ready to publish. Leave draft: true when in-progress.
  14. Feel free to put this block inside comments, to be able to view the actual content properly.
  15. Delete this section when all is in order.
  16. Done!
article⁄New Contributor Archetype 🧜
abstract⁄(INTERNAL) This is a copy of the archetype for contributors (authors), and includes instructions for editing and publishing a new contributor item, found at root/archetypes/contributor.md
keywords⁄archetype, internal, guide

If creating a new entry via the terminal:

  • The Hugo terminal command for creating a new contributor is:
    hugo new contributor/name-surname.md
    
    This will create new file at content/contributor/name-surname.md. The new file will be created according to the archetype for articles at root/archetypes/contributor.md. The new file will be created as a draft (draft: true) and will contain the instruction steps below. Please complete all required steps before committing or publishing new content.

If creating a new entry via the online preview page:

1. Sample YAML Header

If creating a new entry via the online preview page, the new entry will be created as an empty file. Please use the sample YAML file below as starting point, and also copy to the new file the instructions provided below.

---
title: "Jane Contributor ⚫ 🧜"
date: "2023-07-13T14:15:20+03:00"
author: "file-creator-put-your-name-here"
affiliation: "Some affiliation (optional; remove line if not applicable)"
draft: true 
---

2. Archetype content

Name Surname is ….

contact: something at something dot edu

3. Instructions for contributor-file creator/editor

  • Filename should follow the convention: name-surname.md
  • File creator insert your own name in the author field.
  • Set affiliation if applicable (affiliation: "Some University")
  • Fill in content:
    • bio
    • contact email
  • Delete this section.
  • Set draft flag (note that draft: false will make this entry public).
  • Git commit and push your changes if/when applicable, providing a commit message describing your changes.
article⁄New Editor Archetype ♕
abstract⁄(INTERNAL) This is a copy of the archetype for editor items and includes instructions for editing and publishing a new editor item, found at root/archetypes/editor.md
keywords⁄archetype, internal, guide

If creating a new entry via the terminal:

  • The Hugo terminal command for creating a new editor is:
    hugo new editor/name-surname.md
    
    This will create new file at content/editor/name-surname.md. The new file will be created according to the archetype for articles at root/archetypes/editor.md. The new file will be created as a draft (draft: true) and will contain the instruction steps below. Please complete all required steps before committing or publishing new content.

If creating a new entry via the online preview page:

1. Sample YAML Header

---
title: "Jane Editor ⚫ ♕"
date: "2023-07-13T14:15:15+03:00"
author: "file-creator-put-your-name-here"
affiliation: "Some affiliation (optional; remove line if not applicable)"
draft: true
---

2. Archetype content

Name Surname is ….

contact: something at something dot edu

3. Instructions for editor-file creator/editor

  • Filename should follow the convention: name-surname.md
  • File creator insert your own name in the author field.
  • Set affiliation if applicable (affiliation: "Some University")
  • Fill in content:
    • bio
    • contact email
  • Delete this section.
  • Set draft flag (note that draft: false will make this entry public).
  • Git commit and push your changes if/when applicable, providing a commit message describing your changes.
article⁄New Print Archetype 🖶
abstract⁄(INTERNAL) This is a copy of the archetype for creating new print items, including instructions for creating and properly editing print items, found at root/archetypes/article.md
keywords⁄archetype, internal, guide

If creating a new entry via the terminal:

  • The Hugo terminal command for creating a new print item for an issue is:
    hugo new print/p-issue-5.md
    
    This will create new file at content/print/p-issue-5.md. The new file will be created according to the archetype for articles at root/archetypes/print.md. The new file will be created as a draft (draft: true) and will contain the instruction steps below. Please complete all required steps before committing or publishing new content.

If creating a new entry via the online preview page:

1. Sample YAML header

---
title: "Print Article X ⚫ 🖶"
date: "2023-07-13T16:03:24+03:00"
author: "file-creator-put-your-name-here"
draft: true 
print: "article/sample-article.md" 
keywords: [print]
---

2. Instructions to file creator

File naming

  1. If this concerns an issue, say issue-5.md, name this file p-issue-5.md. If this concerns an article say article-title.md, name this file p-article-title.md

YAML Fields

  1. Put your name in the field author inside “quotation marks” as in->author: "creators name"
  2. Set the title to:
    1. Issue X Print (for issues, where X is the issue number or name)
    2. Article title Print (for articles)
  3. Set the correct print destination (e.g. “issue/issue-x.md” or “article/article-name.md”). ERRORS WILL BREAK THE SITE.
  4. Set the draft flag accordingly (false will make this public)
  5. Delete this comment section.
  6. Git commit and push your changes if/when applicable, providing a commit message describing your changes.
  7. Done!

Note: Items that are not public/published (draft: true), cannot have a public/published print. Note: Print items should not have any content under the YAML header.