Go client for the Write.as API https://developers.write.as
Sam Whited d577f3277f Support Go Modules 11 months ago
.github Add GitHub issue template 2 years ago
.gitignore Initial commit 4 years ago
LICENSE Add README and LICENSE 3 years ago
README.md Fix examples in README 1 year ago
auth.go Rearrange status checks in LogIn 1 year ago
auth_test.go Add authentication test 1 year ago
collection.go Rearrange status checks in CreateCollection 1 year ago
collection_test.go Support retrieving auth'd user's collections 1 year ago
go.mod Support Go Modules 10 months ago
go.sum Support Go Modules 10 months ago
post.go Rearrange status checks in UpdatePost 1 year ago
post_test.go Fix post tests 1 year ago
user.go Add UserSubscription struct 1 year ago
writeas.go Add Token getter 1 year ago

README.md

go-writeas

godoc

Official Write.as Go client library.

Installation

go get go.code.as/writeas.v1

Documentation

See all functionality and usages in the API documentation.

Example usage

import "go.code.as/writeas.v1"

func main() {
	// Create the client
	c := writeas.NewClient()

	// Publish a post
	p, err := c.CreatePost(&writeas.PostParams{
		Title:   "Title!",
		Content: "This is a post.",
		Font:    "sans",
	})
	if err != nil {
		// Perhaps show err.Error()
	}

	// Save token for later, since it won't ever be returned again
	token := p.Token

	// Update a published post
	p, err = c.UpdatePost(&writeas.PostParams{
		OwnedPostParams: writeas.OwnedPostParams{
			ID:    p.ID,
			Token: token,
		},
		Content: "Now it's been updated!",
	})
	if err != nil {
		// handle
	}

	// Get a published post
	p, err = c.GetPost(p.ID)
	if err != nil {
		// handle
	}

	// Delete a post
	err = c.DeletePost(&writeas.PostParams{
		OwnedPostParams: writeas.OwnedPostParams{
			ID:    p.ID,
			Token: token,
		},
	})
}

Contributing

The library covers our usage, but might not be comprehensive of the API. So we always welcome contributions and improvements from the community. Before sending pull requests, make sure you've done the following:

  • Run go fmt on all updated .go files.
  • Document all exported structs and funcs.

License

MIT