Pencil Code Project Ideas

Pre-Project for Block Editing for HTML and CSS

This is a pre-project to submit as part of your proposal if your plan is to add modes for HTML and CSS to Droplet.

The idea is to learn about how droplet languages work by adding a simple new "csv" language mode.

The "csv" language mode should parse text that contains a comma-separated-value text, for example:


The purpose of this exercise is to provide a chance to get familiar with the Droplet codebase. To do the project, you will

  1. Make a fork of the dabbler0/droplet repo on github, and get the build working.
  2. Look at existing language adapters under src/ and src/ to learn how adapters are made.
  3. Create a new, and test it out.
Don't worry if you don't have enough time to make it "perfect" - the purpose is to give you a chance to warm up with the code. Send a link to your fork along with your project proposal for Google Summer of Code.

Alternate Idea: Droplet mode for JSON

Some have said that, since several candidates are implementing csv mode, they're looking to do something different. Other simple languages would also make an interesting Droplet "pre-project" and are acceptable. For example, a Droplet mode for JSON is an interesting project:

  "quoted key": [5, 8, 9],
  "nesting": {
    "name": "Franklin",
    "age": 3,
    "breed": "beagle"
  "note": "strings are quoted"

The goal would be to allow students to create and edit arbitrarily nested and complex JSON objects using Droplet; there are several choices and limitations you'll come across if you choose to do a project like this; again, don't feel like you need to do the project "perfectly". Many problems are opportunities for further work. The purpose is to get a sense for the tools and what you'll do over the summer.