Coder Social home page Coder Social logo

blog's Introduction

Yuggoth

Yuggoth logo

"Yuggoth... is a strange dark orb at the very rim of our solar system... There are mighty cities on Yuggoth-great tiers of terraced towers built of black stone... The sun shines there no brighter than a star, but the beings need no light. They have other subtler senses, and put no windows in their great houses and temples..."

  • H. P. Lovecraft, "The Whisperer in Darkness"

Yuggoth is a blog engine which used to power my site at http://yogthos.net I've since moved my blog over to use the excellent Cryogen static site generator.

Features

  • RSS feed
  • tags
  • markdown in posts and comments with preview
  • bloom filter search
  • syntax highlighting using highlight.js
  • file uploads and management through web UI
  • latest comments view
  • throttling
  • content caching
  • localization

Usage

The blog requires an instance of postgreSQL. On the first run the blog will guide you through setting up the db connection properties and create the necessary tables for you. Then you will be presented with the setup wizard that will allow you to configure the administrator and the blog title. Further configuration can be done on the profile page.

Building and deploying using Leiningen

to run in development mode

lein cljsbuild auto dev // use lein-cljsbuild plugin, https://github.com/emezeske/lein-cljsbuild
lein ring server

to package for release

lein cljsbuild clean
lein cljsbuild once release
lein ring uberjar

to make a deployable WAR replace uberjar with uberwar above

The standalone jar can be run using java -jar:

java -jar target/yuggoth-1.0-standalone.jar

To specify a different port you can either pass it as an argument or put it in the $PORT environment variable

Todos

  • add and management new user with administrator.
  • support apache cassandra
  • support chinese localization
  • seed database
  • ...

License

Distributed under the Eclipse Public License, the same as Clojure.


Copyright (C) 2012 Yogthos

blog's People

Contributors

ademar avatar dfuenzalida avatar dougselph avatar miguelius avatar openweb avatar yogthos avatar

Watchers

 avatar  avatar

blog's Issues

java.lang.ArithmeticException: Divide by zero

lein ring server

minifying assets...

minifying: resources/public/css/site.min.css
assets: screen.css
original size: 12287
compressed size: 9348
gzipped size: 2409
initialized
generating bloom filters...
finished bloom filter generation
yuggoth started successfully...
17:11:01.738 [main] INFO - jetty-7.6.13.v20130916
17:11:01.803 [main] INFO - Started [email protected]:3000
Started server on port 3000

java.lang.ArithmeticException: Divide by zero
at clojure.lang.Numbers.divide(Numbers.java:156)
at com.github.kyleburton.clj_bloom$num_hash_fns_for_entries_and_bits.invoke(clj_bloom.clj:77)
at com.github.kyleburton.clj_bloom$optimal_n_and_k.invoke(clj_bloom.clj:93)
at com.github.kyleburton.clj_bloom$make_optimal_filter.doInvoke(clj_bloom.clj:104)
at clojure.lang.RestFn.invoke(RestFn.java:425)
at yuggoth.bloom_search.core$add_filter_BANG_.invoke(core.clj:23)
at yuggoth.routes.services.posts$make_filter_BANG_.invoke(posts.clj:51)
at yuggoth.routes.services.posts$save_post_BANG_.invoke(posts.clj:63)
at yuggoth.routes.services.core$fn__8758$fn__8759.invoke(core.clj:65)
at noir.util.route$wrap_restricted$fn__8416.invoke(route.clj:37)
at compojure.response$eval1649$fn__1650.invoke(response.clj:32)
at compojure.response$eval1610$fn__1611$G__1601__1618.invoke(response.clj:9)
at compojure.core$make_route$fn__1785.invoke(core.clj:99)
at compojure.core$if_route$fn__1769.invoke(core.clj:45)
at compojure.core$if_method$fn__1762.invoke(core.clj:30)
at compojure.core$routing$fn__1791.invoke(core.clj:112)
at clojure.core$some.invoke(core.clj:2515)
at compojure.core$routing.doInvoke(core.clj:112)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invoke(core.clj:626)
at compojure.core$routes$fn__1795.invoke(core.clj:117)
at compojure.core$routing$fn__1791.invoke(core.clj:112)
at clojure.core$some.invoke(core.clj:2515)
at compojure.core$routing.doInvoke(core.clj:112)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invoke(core.clj:626)
at compojure.core$routes$fn__1795.invoke(core.clj:117)
at selmer.middleware$wrap_error_page$fn__9979.invoke(middleware.clj:9)
at noir_exception.core$wrap_exceptions$fn__10219.invoke(core.clj:133)
at noir_exception.core$wrap_internal_error$fn__10213.invoke(core.clj:121)
at noir.util.middleware$wrap_request_map$fn__12131.invoke(middleware.clj:45)
at ring.middleware.keyword_params$wrap_keyword_params$fn__10383.invoke(keyword_params.clj:32)
at ring.middleware.nested_params$wrap_nested_params$fn__10432.invoke(nested_params.clj:75)
at ring.middleware.params$wrap_params$fn__2058.invoke(params.clj:58)
at hiccup.middleware$wrap_base_url$fn__10500.invoke(middleware.clj:12)
at ring.middleware.format_params$wrap_format_params$fn__11384.invoke(format_params.clj:111)
at ring.middleware.format_response$wrap_format_response$fn__12055.invoke(format_response.clj:174)
at ring.middleware.multipart_params$wrap_multipart_params$fn__10476.invoke(multipart_params.clj:107)
at noir.util.middleware$wrap_access_rules$fn__12145.invoke(middleware.clj:140)
at noir.validation$wrap_noir_validation$fn__4449.invoke(validation.clj:155)
at noir.cookies$noir_cookies$fn__10524.invoke(cookies.clj:72)
at ring.middleware.cookies$wrap_cookies$fn__3961.invoke(cookies.clj:142)
at noir.session$noir_flash$fn__4175.invoke(session.clj:159)
at ring.middleware.flash$wrap_flash$fn__4100.invoke(flash.clj:31)
at noir.session$noir_session$fn__4161.invoke(session.clj:110)
at ring.middleware.session_timeout$wrap_idle_session_timeout$fn__4117.invoke(session_timeout.clj:25)
at ring.middleware.session$wrap_session$fn__4080.invoke(session.clj:85)
at clojure.lang.Var.invoke(Var.java:379)
at ring.middleware.reload$wrap_reload$fn__1436.invoke(reload.clj:22)
at ring.middleware.stacktrace$wrap_stacktrace_log$fn__897.invoke(stacktrace.clj:23)
at ring.middleware.stacktrace$wrap_stacktrace_web$fn__959.invoke(stacktrace.clj:86)
at ring.adapter.jetty$proxy_handler$fn__96.invoke(jetty.clj:20)
at ring.adapter.jetty.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:369)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:944)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1005)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:745)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.