aybabtme / brog Goto Github PK
View Code? Open in Web Editor NEWStatic blog app.
License: Other
Static blog app.
License: Other
Now that this mess is released, need some major refactoring.
e.g. the user:group of the user creating the brog, directories should be 755 and files 644
New posts should copy permissions from old posts.
When running on windows, brog doesn't recognize templates under template\a_template.gohtml
as being part of its structure. This is because somewhere, a '/' is hardcoded instread of using os.PathSeparator
.
The current config is flat and is getting large. It could be better served in a categorized way, perhaps.
Now that the proof of concept is out, need to seriously test this mess.
Need to verify that data structures work as intended.
$ brog init
A dark geometric shape is approaching...
[ERROR] Couldn't inject brog nanoprobes.
[ERROR] Message : creating directory at '' failed, mkdir : no such file or directory.
[ERROR] Message : creating directory at '' failed, mkdir : no such file or directory.
When a new post is created, it should have a related route so that it is accessible.
Watch for templates/
and posts/
. When either changes, update internal datastructure to use the new versions.
Make brog look better than it currently does.
See brogger/base/
for the files it currently use.
Watch logic for posts tracks the posts by their ID. If someone changes the title of a post, the post is considered a new one.
Current brog post header is :
{
"title":"",
"author":"",
"date":"1970-01-01T23:59:59.000Z",
"invisible": true,
"abstract":"",
"language":"en"
}
It should have the current date.
Markdown (specifically, the version of Highlight.js it uses) has limited language support. In order to provide users with maximum flexibility, I suggest that GeSHi (the Generic Syntax Highlighter) support be integrated into brog, alongside Markdown. It uses simple syntax, basing the syntax highlighting off the lang
attribute of a pre
tag, like so:
<pre lang="haskell">
module Main
where
main = putStrLn "Hello, world!"
</pre>
This would cover mainly less popular/new/old languages like Haskell (example above), Groovy, Eiffel, and has better-looking default style (more readable) than Highlight.js.
The complete list of languages supported by GeSHi is listed in the left sidebar of their page. The complete list of languages which can be included in a Highlight.js build can be found here.
When user selects a language, need to remember they did so if they come back to the index from a post.
The templates could be better. We need to let each entry type (page, post) have its own template, along with one for the index (we already have the index and the post templates). The names should be defined in the config.
While were at it, could the templates be loaded with a glob? That would remove the hardcoding of the various templates, and allow themes to add and remove templates.
brog
.brog
.Should inline commonly used parts of Javascript that arent too big to avoid paying the price of multiple requests.
Brog shall not route public requests to posts whose field invisible
is set to true
.
Brog should log comprehensive statistics about its usage and performance.
Use http://golang.org/pkg/html/template/.
Need for
Given a file, read the markdown out of it and make it an HTML string. Save that string in a datastructure. If an earlier version of that post existed, replace it.
See 0971cf0#commitcomment-4474189 for explanation.
This runs in a different goroutine than the (eventual) readers and will lead to race conditions when a post is delete/created/modified.
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.