cliss / camel Goto Github PK
View Code? Open in Web Editor NEW"Camel" is a blogging platform written in Node.js. It is designed to be fast, simple, and lean.
License: MIT License
"Camel" is a blogging platform written in Node.js. It is designed to be fast, simple, and lean.
License: MIT License
Just a simple fix needed here 😄
Camel uses the Markdown parser marked in order to convert from Markdown to HTML. Marked doesn't presently support footnotes, as shown in this issue and this pull request.
Posts with trailing +
, such as emoji++.md
, do not show up in year listings.
In software world, Camel means the "Apache Camel" to every experienced engineer, maybe you want to choose another project name.
Hi, in camel.js
, it looks like the function externalFilenameForFile()
is declared twice, first with a single parameter (file
), and then again with two parameters (file
and request
).
Function overloading like this isn't allowed in JS. Instead, the second function declaration just clobbers the first one. Thus, all calls to externalFilenameForFile()
go straight to the two-argument version. (In fact, if the functions were declared in the opposite order, the single-argument version would end up calling itself over and over.)
If a request comes in after the RSS cache has expired on an unexpected hostname, it can seed that hostname in the cache and return it with requests to the preferred hostname. This appears to only affect the RSS feed because it is returning fully qualified URLs.
Example:
camel on master
➜ curl http://linode.liss.test/rss | grep linode
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1706 0 1706 0 0 171k 0 --:--:-- --:--:-- --:--:-- 416k
]]></description><link>http://www.vt.edu/</link><guid isPermaLink="false">http://linode.liss.test/2015/2/6/sample-link-post</guid><dc:creator><![CDATA[Your Name]]></dc:creator><pubDate>Fri, 06 Feb 2015 22:00:00 GMT</pubDate></item><item><title><![CDATA[Test Post]]></title><description><![CDATA[<p>This is a <em>test post</em> entitled “Test Post”.</p>
]]></description><link>http://linode.liss.test/2014/5/1/sample-post</link><guid isPermaLink="false">http://linode.liss.test/2014/5/1/sample-post</guid><dc:creator><![CDATA[Your Name]]></dc:creator><pubDate>Fri, 02 May 2014 02:50:00 GMT</pubDate></item></channel></rss>
camel on master
➜ curl http://www.liss.test/rss | grep linode
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1706 0 1706 0 0 161k 0 --:--:-- --:--:-- --:--:-- 333k
]]></description><link>http://www.vt.edu/</link><guid isPermaLink="false">http://linode.liss.test/2015/2/6/sample-link-post</guid><dc:creator><![CDATA[Your Name]]></dc:creator><pubDate>Fri, 06 Feb 2015 22:00:00 GMT</pubDate></item><item><title><![CDATA[Test Post]]></title><description><![CDATA[<p>This is a <em>test post</em> entitled “Test Post”.</p>
]]></description><link>http://linode.liss.test/2014/5/1/sample-post</link><guid isPermaLink="false">http://linode.liss.test/2014/5/1/sample-post</guid><dc:creator><![CDATA[Your Name]]></dc:creator><pubDate>Fri, 02 May 2014 02:50:00 GMT</pubDate></item></channel></rss>
This can result in feed readers picking up all feed items as new because the GUIDs change. (Origin: https://fosstodon.org/@drdrang/109905798081310673)
Rather than having the homepage use query strings for pages, why not a new route?
For example, instead of '/?p=3', why not '/page/3'?
Since allPostsSortedAndGrouped()
will probably be used in several places (including, for example, the year listing), it too should probably be cached.
If a post is created with a really long title, Twitter will balk at the auto-tweet because it's too long, and that will take Camel down due to this line.
The auto-tweeter should be changed to:
\n\n
)Truly, less is more.
I assume this is why Camel is the way it is—fast [first], simple, and relatively straight-forward.
I dig that.
I wouldn't want it any other way.
And yet.
Tags
Yes, those.
I know what you're thinking (you're thinking, "Eh").
I can understand.
Because less is more.
But here's the thing:
Camel needs could use tags. Tags are useful and helpful when used like this, not necessarily like this. Tags don't have to be associated with their oft-icky implementation.
Roger Stringer's fork has tags, but his is based on his own custom variables that make cribbing to your "Standard Camel" fork somewhat non-trivial.
Basic support would entail:
metadataMarker
—@@
—or via the newest metadata format in 1.5.3, e.g., Tags:
/tags
and /tags/tag
slugsHi @cliss,
What are your thoughts on using jscs as standard to lint and format all js files in Camel Js?
Have a look at this nice little write up about it's capabilities when you have time.
https://medium.com/@addyosmani/auto-formatting-javascript-code-style-fe0f98a923b8
Automatic tweeting is broken. The code is getting as far as this line, but no tweets are actually showing up.
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.