wiki-api

Version, currently master branch1 version
  • master branchlatestFeb 17, 2020

github.com/konstantine-v/CrWikiLib

WIP - Wrapper for Wikipedia API for use in Crystal

2 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  wiki-api:
    github: konstantine-v/CrWikiLib
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
0.32.1
License
MIT
Author
Konstantine
Target
  • wiki-api from src/wiki-api.cr

Dependencies

This version declares no dependencies.

README

Wiki::Library

Currently WIP, but this project works.

I wrapper for the Wikipedia and Wikimedia API to get commonly used things.

It's constantly changing, but my main focus is working on new features and making QOL changes to make it nicer to work with.

Installation

Install as a shard by including in your shards.yml

dependencies:
  crwikilib:
    github: MaterialFuture/CrWikiLib

After adding remember to run shards to install and be able to use in your project

Usage

Refer to examples/ directory for examples of use.

To get the page in a data format use the following:

puts Wiki::Page.new("https", "Crystal_(programming_language)", "json")

To get the page as a PDF for download use the following:

puts Wiki::Page.pdf("https", "Crystal_(programming_language)")

To get the Post of the Day use the following code: (date in ISO format)

Wiki::POTD.new("HTTPS", potd_date, "json")

I made it so you can specify protocol, that way if you're not required HTTP or HTTPS, you dsecide.

Development

TODO: Write development instructions here

Contributing

  1. Fork it (https://github.com/materialfuture/wiki-api/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

Notes

TODO

  • Look into adding Admiral Shard
  • Look into adding functionality for reading txt file for bulk downloads for PDFs
  • Breakout URLs for so they're more reusable