Glift: A modern JavaScript client for the game Go

Glift is a JavaScript client for the board game Go, which you can use to display Go games and lessons on your website.

The word ‘Glift’ is derived from the phrase ‘Go Lightweight Frontend’ and is pronounced either as ‘gee-lift’ or as one syllable like ‘glyph’.

You can learn more about Glift by visiting the Glift homepage, or by browsing the examples below.

Click here to skip to some examples of Glift in action.

You can also read more about Glift and the motivations behind the project here.

Use Glift on your website!

If you hand code your website, or if it runs on some platform other than WordPress, you can download the latest stable version of glift.js here (right click, save as).

You can also get all the code from Glift’s github page and visit the Glift homepage for some sample code snippets to help you get started.

If you run a WordPress site, you can use our plugin to easily integrate Go functionality with your website, using shortcodes. It’s available in the WordPress plugin directory and you can also get the code and collaborate with us at github.

How to setup Glift on a WordPress site

Installing the plugin in WordPress

To install Glift in WordPress:

  1. Download our WordPress plugin from this page.
  2. Login to your WordPress dashboard.
  3. Click on the ‘Plugins’ tab.
  4. On the WordPress Plugins page, click ‘Add New’.
  5. You’re now on the Install Plugins page, click ‘Upload’ and select the file that you downloaded earlier.
  6. Finally, click ‘Activate’.
  7. Congratulations, the Glift plugin is now installed.

How to use Glift in WordPress

After installing the Glift plugin, you can display game records and other Go content in your posts and pages by using the Glift shortcode which looks like this: [glift]

For example, if you copy and paste the following line into a post…


… you should get this:



Pretty easy, huh?

That text in between the [glift] tags above is just the SGF data from this file.

However, it gets even easier.

Once you’ve installed the Glift plugin, you can upload SGF files and add them to your posts just like you do with pictures. For example if you upload the example file to your site and type something like:

[glift sgf=""]

(replace with the URL of the file on your own website)

You’ll get:


Download SGF File (Go Game Record)


If all you want to do is post your games on your blog, then you can stop reading here. That’s all you need to know.

Some technical notes

Note that the closing [/glift] tag wasn’t even necessary for embedding example.sgf above, but it was for the snippet of SGF data above that.

That’s because SGF data contains many square brackets [] which can confuse WordPress. So SGF data should be pasted between [glift][/glift] tags, but if you’re just embedding a link to the file, you can use a single [glift] tag if you prefer.

How you format your posts is up to you. In general, we don’t recommend combining both formats within a single post, because that can cause problems.

Choose either:

[glift sgf=""]
[glift sgf=""][/glift]

Both do more or less the same thing.


More examples of Glift in action

Here are some more examples to help you get a feel for what Glift can do, and how you can make that happen on your own site.

Minimalistic theme

If you like minimalism, then the TRANSPARENT or TEXTBOOK themes are for you!

[glift sgf="" widgetType="GAME_VIEWER" theme="TRANSPARENT"]


Download SGF File (Go Game Record)


Add a background image

Perhaps you prefer a wood grain background image though? The choice is yours.

Note that enclosing arguments in “quotation marks” isn’t even strictly necessary and you can disable automatic linking to SGF files with the noLink argument (see below).

[glift sgf= goBoardBackground= noLink=true]



A basic Go lesson

Want to create a Go lesson that spans multiple pages? No problem.

Simply create and upload an SGF for each page of your lesson and then upload a JSON formatted file that looks like this.

Next, you should use ‘sgfCollection’ instead of just ‘sgf’ to tell Glift that your lesson spans multiple pages. Here’s what it looks like:

[glift sgfCollection= widgetType="STANDARD_PROBLEM"]



A more advanced Go lesson

However, you can do much more than that. Every page of your lesson can be stored in a single SGF file if you want and you can use different widgetTypes for different pages (e.g. GAME_VIEWER, EXAMPLE, STANDARD_PROBLEM etc – these do need to be typed in ALLCAPS for the time being, by the way).

Have a look at this JSON file to see what a more advanced lesson looks like. We’ve embedded it for you below:

[glift sgfCollection= goBoardBackground=]



Want to see some more examples? Click here to visit