All Projects → taylorlapeyre → hn-clojure

taylorlapeyre / hn-clojure

Licence: other
Hacker News in Clojure.

Programming Languages

clojure
4091 projects
CSS
56736 projects

Projects that are alternatives of or similar to hn-clojure

Awesome Hacker News
Awesome Hacker News: a collection of awesome Hacker News apps, libraries, resources and shiny things.
Stars: ✭ 250 (+706.45%)
Mutual labels:  hacker-news
emacs-hnreader
Read Hacker News inside Emacs
Stars: ✭ 34 (+9.68%)
Mutual labels:  hacker-news
HackerrankJAVA
This repository consists of Hackerrank JAVA Solutions
Stars: ✭ 31 (+0%)
Mutual labels:  hacker-news
compojure-appengine-sample
Sample Compojure app with deployment to Google App Engine
Stars: ✭ 12 (-61.29%)
Mutual labels:  compojure
tophn
An application to recommend the topmost story of Hacker News from the last 24 hours
Stars: ✭ 31 (+0%)
Mutual labels:  hacker-news
asyncio-hn
Python (asyncio) wrapper for hackernews api
Stars: ✭ 27 (-12.9%)
Mutual labels:  hacker-news
Devo
A Chrome and Firefox extension that displays GitHub Trending, Hacker News, Product Hunt and Designer News on every new tab.
Stars: ✭ 236 (+661.29%)
Mutual labels:  hacker-news
hackernews-example
An NX Hacker News clone with real-time updates and animations.
Stars: ✭ 56 (+80.65%)
Mutual labels:  hacker-news
reading-list
社区驱动的高质量聚合阅读列表
Stars: ✭ 45 (+45.16%)
Mutual labels:  hacker-news
serializer
A linearizing social tech news reader
Stars: ✭ 89 (+187.1%)
Mutual labels:  hacker-news
hacker-news-mixin-bot
Post new hot stories from Hacker News to Mixin bot (Mixin ID: 7000100124)
Stars: ✭ 19 (-38.71%)
Mutual labels:  hacker-news
hnlookup
A chrome extension to browse for related topics on Hacker News (built with clojurescript)
Stars: ✭ 25 (-19.35%)
Mutual labels:  hacker-news
hx
A simple, easy to use library for React development in ClojureScript.
Stars: ✭ 244 (+687.1%)
Mutual labels:  hiccup
hnpwa-api
CDN cached Hacker News API
Stars: ✭ 73 (+135.48%)
Mutual labels:  hacker-news
hackertab.dev
Hackertab turns your New Tab page into a geeky one that keeps you as a developer updated with the best tools, news, jobs and events.
Stars: ✭ 229 (+638.71%)
Mutual labels:  hacker-news
Hnpwa Vanilla
Hacker News PWA implemented using no framework just javascript
Stars: ✭ 245 (+690.32%)
Mutual labels:  hacker-news
suomi.dev
Like Hacker News, but for Finns!
Stars: ✭ 27 (-12.9%)
Mutual labels:  hacker-news
tailwind-hiccup
tailwindcss + hiccup = 👍👍
Stars: ✭ 34 (+9.68%)
Mutual labels:  hiccup
Diurna
Basic/Classic Hacker News app, used as a Cocoa & Swift learning platform
Stars: ✭ 100 (+222.58%)
Mutual labels:  hacker-news
hackernews-button
Privacy-preserving Firefox extension linking to Hacker News discussion; built with Bloom filters and WebAssembly
Stars: ✭ 73 (+135.48%)
Mutual labels:  hacker-news

hn

Hacker News in Clojure

This is an implementation of the website Hacker News. It uses the official Hacker News API.

Features

  • Look at front page stories
  • View nested comments for each story
  • See a user's submitted stories
  • That's about it.

How is it done?

The Hacker News API is pretty simple, and it only takes about 50 lines to comprehensively access it.

HTML is generated via the Hiccup library, which translates Clojure data structures into HTML. If Hiccup sounds interesting to you, you might be interested in making it yourself. It's a fun problem.

I match routes to route handlers using Compojure. I thought Compojure was pretty cool, so I made that, too.

Finally, Ring ties everything togther with a very simple HTTP interface.

What's left?

At the moment, everything is done in Clojure. I plan to add some Clojurescript for collapsing comments, etc.

The website is a little slow because I am waiting for every item to come back before rendering the page. This can be faster by rendering items on the front end as they come in via Reagent.

Running it Yourself

  1. First, make sure that you have Java installed.

  2. Then, install Leiningen:

$ brew install leiningen
  1. Finally, start up the server:
$ cd hackernews
$ lein run

The website will be up on localhost:3000.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].