Write a Blog Post

We invite members of the Creative Commons community to write posts on our technical blog about any work they are doing related to CC and technology. It does not have to be related to any of our official projects; any topic that intersects with CC and technology will be considered. Please talk to us on one of our community forms to propose your ideas.

Once your post idea has been approved, please send a pull request with your post as detailed below.

Submitting a Post

New blog posts must be submitted by submitting a pull request containing your blog post to the creativecommons.github.io-source repository. The CC Open Source site is built using the static site generator Lektor and your blog post must follow the specific format documented below to appear correctly on the site. For example, please see this commit adding a post.

  1. Each blog entry lives in its own subdirectory of the content/blog/entries folder. Create a new subdirectory with a slugified version of your blog post title.
  2. Create a file named contents.lr in the subdirectory you just created. This is the file that will contain your blog post content.
  3. If your post uses images or other files, put them in the same subdirectory as the contents.lr file.
  4. Fill in contents.lr in the following format (see example post):

     
       title: Replace this text with the title of your blog post
      ---
       categories:
       Replace this text with category names as shown below. Each category name should be on its own line and the name should not contain spaces.
       example-category-name-1
       example-category-name-2
      ---
       author: Replace this text with author's GitHub username. There should be no spaces in the name.
      ---
       pub_date: Replace this text with the publication date in YYYY-MM-DD format.
      ---
       body:
       Replace this text with your post's content (minus the title). This field accepts Markdown for formatting.
       If you're including images, you can use the Markdown image syntax i.e. ![image-title](image-file-name.jpg).
       You don't need to specify the path to the image since you have uploaded it to the same folder in Step 3.
     
    

    Read more about Markdown formatting here.

  5. Each category you have applied to the post must have its own subdirectory in the content/blog/categories directory.
    • If there is no subdirectory for that category, create one using the exact category name as the blog post with its own contents.lr file within.
    • The new contents.lr file within should follow the same format as the other categories. Here's an example category content file.
  6. Similarly, each author must have their own subdirectory in the content/blog/authors directory.
    • If there is no subdirectory for your username, create one using the exact username as the author field of the blog post with its own contents.lr file within.
    • The new contents.lr file within should follow the same format as the other authors. Here's an example author content file.
  7. Build the creativecommons.github.io-source project locally (instructions are in the README in the repository) and ensure your blog post shows up correctly locally. If you have not created the appropriate category or author files, you will see a build error in this step.
  8. Push your code and make a pull request.
  9. Wait for a member of CC's fulltime staff to merge the post into the master branch.

Once merged, your new post will automatically be pushed to the production site and a notification containing your post URL will be sent to the #cc-developers channel on Slack.

Back to top