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
Set up pagination for the articles list
Should probably downcase tags. It would be cool to add typeahead/completion as well.
And which duplicate can be accessed by slug depends on the order of database results.
Need to run highlightjs on preview
Users should be able to change
Users should not be able to change
It's just fixed (via CSS) to float right and a width that is some percentage of the parent's width.
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))))
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.
Need to add an option to edit the page in the toolbar
If it slugifies the same, then when retrieving an article by slug, the result is undefined.
Maybe it would be cool to utilize the twemoji project.
Add a feature to allow adding/removing tags to multiple articles.
I think there are some places claiming copyright, some places eclipse, etc etc. Need to unify to an understandable license.
Right now mango is strictly tied to Amazon S3 via amazonica
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.
Need to use clojure.java.io/resource
to resolve the file.
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
Throw an error or non-fatal warning on missing or invalid configuration items
Offset index and count are ok, but not as flexible as it could be. Consider cursoring.
There is not much in the way of admin capabilities, including inability to add/remove users
It can be determined from the requests
Right now mango is strictly tied to mongodb via monger
Instead of using the database directly, use a passed in data-provider
Trying to decide if media should be associated with an article or vice versa
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.
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.
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
Would be better to have the json api be configurable and plug in more modularly.
There are several possible languages and content in an article title that util/slugify will not handle well.
Probably shouldn't output those fields anywhere
Maybe others
Reduce the duplication necessary in {prod/dev/test}/config.edn
Need to add sign up pages and functionality
Currently they refer to the site's configured twitter handle, which may be different.
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.