leeaustinadams / mango Goto Github PK
View Code? Open in Web Editor NEWA blog package written mostly in clojure
License: Eclipse Public License 1.0
A blog package written mostly in clojure
License: Eclipse Public License 1.0
Need to use clojure.java.io/resource
to resolve the file.
Need to run highlightjs on preview
Maybe it would be cool to utilize the twemoji project.
Users should be able to change
Users should not be able to change
article-id
query parameter is always specified, need to add page-id
query param and call dp/update-page-media
instead of dp/update-blog-article-media
I think there are some places claiming copyright, some places eclipse, etc etc. Need to unify to an understandable license.
Trying to decide if media should be associated with an article or vice versa
Reduce the duplication necessary in {prod/dev/test}/config.edn
Right now mango is strictly tied to Amazon S3 via amazonica
Add a feature to allow adding/removing tags to multiple articles.
Jul 19, 2019 2:33:13 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Cluster created with settings {hosts=[127.0.0.1:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
Jul 19, 2019 2:33:13 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Exception in monitor thread while connecting to server 127.0.0.1:27017
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.connection.SocketStream.open(SocketStream.java:63)
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115)
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:116)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:50)
at com.mongodb.connection.SocketStream.open(SocketStream.java:58)
... 3 more
Jul 19, 2019 2:33:13 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: No server chosen by ReadPreferenceServerSelector{readPreference=primary} from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, serverDescriptions=[ServerDescription{address=127.0.0.1:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused (Connection refused)}}]}. Waiting for 30000 ms before timing out
Right now mango is strictly tied to mongodb via monger
They're structurally and behaviorally extremely similar, they really only differ by being in the feed or not and what route they are reached via.
There are several possible languages and content in an article title that util/slugify will not handle well.
And which duplicate can be accessed by slug depends on the order of database results.
Probably shouldn't output those fields anywhere
Throw an error or non-fatal warning on missing or invalid configuration items
Instead of using the database directly, use a passed in data-provider
Images in articles and pages cannot be viewed any larger than the appear on the page unless the user right clicks and views it in its own window.
Currently mango hydrates page content (renders markdown to html) on read. But we probably should just hydrate on write, and write both the markdown and the html to the database. Then on read, just read the html.
Currently they refer to the site's configured twitter handle, which may be different.
Set up pagination for the articles list
Need to add an option to edit the page in the toolbar
It can be determined from the requests
Would be better to have the json api be configurable and plug in more modularly.
Offset index and count are ok, but not as flexible as it could be. Consider cursoring.
I'd like to write all the script for the front end as clojurescript ideally, or at least not have my crazy JS "build" step.
Maybe others
It's just fixed (via CSS) to float right and a width that is some percentage of the parent's width.
If it slugifies the same, then when retrieving an article by slug, the result is undefined.
e.g.
(defn blog-articles-by-query
"Query blog articles"
[query {:keys [page per-page] :or {page 1 per-page default-per-page}}]
(mq/with-collection @DB config/db-article-collection
(mq/find query)
(mq/sort {:created -1})
(mq/paginate :page (Integer. page) :per-page (Integer. per-page))))
There is not much in the way of admin capabilities, including inability to add/remove users
Need to add sign up pages and functionality
Should probably downcase tags. It would be cool to add typeahead/completion as well.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.