Giter Site home page Giter Site logo

kabukky / journey Goto Github PK

View Code? Open in Web Editor NEW
2.0K 2.0K 205.0 7.04 MB

A blog engine written in Go, compatible with Ghost themes.

Home Page: https://kabukky.github.io/journey

License: MIT License

Go 78.61% HTML 8.94% Smarty 5.50% CSS 1.24% JavaScript 5.71%

journey's People

Contributors

awoodbeck avatar kabukky avatar lukehowelldev avatar rainyear avatar specode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

journey's Issues

Conditional checks inside homepage

Blogs should check whether the user has changed the links for the icons (GitHub, Twitter, LinkedIn, etc.) to custom URLs. If they haven't, it shouldn't show the buttons. About/Projects links also shouldn't show onthe main page if the pages have not been made yet.

Making Posts accessable on every page

I may be wrong, but Ghost only has the complete list of posts on the main page. By making it accessible everywhere it allows you to make great content pages and landing pages and have the root of your blog on a different page. Right now the solution for this is to grab the rss feed and parse it with javascript which is annoying and probably not necessary.

This is also great for having complete glossaries on each blog post like so: http://vidrack.com/blog/

OS X compatible ?

I use pelican for my blogging but want to change the engine.
I saw the "journey is compatible with Windows, OSX, LInux" but I couldn't find any link to get started with OSX.

Could you guide me where to get started, please?

Ctrl+c

ubuntu 14.04

when it is running ,ctrl+c,then:

[root journey]# ./journey
2015/05/28 21:14:23 UUID.State.init: address error:
panic: runtime error: slice bounds out of range

goroutine 1 [running]:
github.com/kabukky/journey/templates.findHelper(0xc208106600, 0x2f4, 0x2f4, 0xc208105800, 0x6, 0x8, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/github.com/kabukky/journey/templates/generation.go:93 +0xc1c
github.com/kabukky/journey/templates.findHelper(0xc208106600, 0x2f4, 0x2f4, 0xc208105800, 0x6, 0x8, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
github.com/kabukky/journey/templates.findHelper(0xc2080d5180, 0x303, 0x303, 0xc208105800, 0x5, 0x8, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
github.com/kabukky/journey/templates.findHelper(0xc2080d4e00, 0x312, 0x312, 0xc2080cc3c0, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/github.com/kabukky/journey/templates/generation.go:107 +0xba0
github.com/kabukky/journey/templates.findHelper(0xc2080d4a80, 0x357, 0x357, 0xc2080cc3c0, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
github.com/kabukky/journey/templates.findHelper(0xc2080d4700, 0x37a, 0x37a, 0xc2080cc3c0, 0x3, 0x4, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
github.com/kabukky/journey/templates.findHelper(0xc208105400, 0x397, 0x397, 0xc20810fb30, 0x2, 0x2, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
github.com/kabukky/journey/templates.findHelper(0xc208105000, 0x3b4, 0x3b4, 0xc208086080, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
github.com/kabukky/journey/templates.findBlock(0xc20800be08, 0x3, 0x3, 0xc208104805, 0x4, 0x3d2, 0xc208104c00, 0x2, 0x0, 0x0, ...)
/go/src/github.com/kabukky/journey/templates/generation.go:145 +0x782
github.com/kabukky/journey/templates.findHelper(0xc208104c00, 0x3ce, 0x3ce, 0xc2080fff00, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/github.com/kabukky/journey/templates/generation.go:113 +0x72b
github.com/kabukky/journey/templates.findHelper(0xc208104800, 0x3d7, 0x3d7, 0xc2080fff00, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, ...)
/go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
github.com/kabukky/journey/templates.compileTemplate(0xc2080ca000, 0x3e5, 0x5e5, 0xc2080d2b65, 0x4, 0x0)
/go/src/github.com/kabukky/journey/templates/generation.go:171 +0x283
github.com/kabukky/journey/templates.createTemplateFromFile(0xc2080d2b40, 0x2d, 0x2d, 0x0, 0x0)
/go/src/github.com/kabukky/journey/templates/generation.go:193 +0x2ac
github.com/kabukky/journey/templates.compileFile(0xc2080d2b40, 0x2d, 0x0, 0x0)
/go/src/github.com/kabukky/journey/templates/generation.go:198 +0x44
github.com/kabukky/journey/templates.inspectTemplateFile(0xc2080d2b40, 0x2d, 0x7f6c1cd91320, 0xc208102e60, 0x0, 0x0, 0x0, 0x0)
/go/src/github.com/kabukky/journey/templates/generation.go:208 +0xca
path/filepath.walk(0xc2080d2b40, 0x2d, 0x7f6c1cd91320, 0xc208102e60, 0xac5150, 0x0, 0x0)
/usr/local/go/src/path/filepath/path.go:347 +0x91
path/filepath.walk(0xc208039830, 0x24, 0x7f6c1cd91320, 0xc20802dc20, 0xac5150, 0x0, 0x0)
/usr/local/go/src/path/filepath/path.go:372 +0x51d
path/filepath.Walk(0xc208039830, 0x24, 0xac5150, 0x0, 0x0)
/usr/local/go/src/path/filepath/path.go:394 +0xf2
github.com/kabukky/journey/templates.compileTheme(0xc208039830, 0x24, 0x0, 0x0)
/go/src/github.com/kabukky/journey/templates/generation.go:221 +0x234
github.com/kabukky/journey/templates.checkThemes(0x0, 0x0)
/go/src/github.com/kabukky/journey/templates/generation.go:257 +0x16e
github.com/kabukky/journey/templates.Generate(0x0, 0x0)
/go/src/github.com/kabukky/journey/templates/generation.go:293 +0xcd
main.main()
/go/src/github.com/kabukky/journey/main.go:73 +0x54a

goroutine 2 [runnable]:
runtime.forcegchelper()
/usr/local/go/src/runtime/proc.go:90
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 3 [runnable]:
runtime.bgsweep()
/usr/local/go/src/runtime/mgc0.go:82
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 4 [runnable]:
runtime.runfinq()
/usr/local/go/src/runtime/malloc.go:712
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 5 [runnable]:
database/sql.(*DB).connectionOpener(0xc20803ba40)
/usr/local/go/src/database/sql/sql.go:588
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:452 +0x31c

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

Logging should goto stderr

There's no reason to log to an arbitrary file, the user can configure that easily enough using their shell. The current method requires unnecessarily digging through documentation, or attempting to divine where log messages are going. See the Principle of Least Astonishment.

Issue with Ghost themes

Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.findHelper(0xc2080c4000, 0x1741, 0x1741, 0xc208030800, 0x6, 0x8, 0x0, 0x0, 0x0, 0x0, ...)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:107 +0xba0
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.findHelper(0xc208106800, 0x1781, 0x1781, 0xc208030800, 0x6, 0x8, 0x0, 0x0, 0x0, 0x0, ...)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.findHelper(0xc208105000, 0x179a, 0x179a, 0xc208030800, 0x5, 0x8, 0x0, 0x0, 0x0, 0x0, ...)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.findHelper(0xc208103800, 0x17b3, 0x17b3, 0xc2080bc5a0, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0, ...)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.findHelper(0xc208102000, 0x17cd, 0x17cd, 0xc2080bc5a0, 0x3, 0x4, 0x0, 0x0, 0x0, 0x0, ...)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.findHelper(0xc208062800, 0x17e7, 0x17e7, 0xc2080d5950, 0x2, 0x2, 0x0, 0x0, 0x0, 0x0, ...)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:107 +0xba0
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.findHelper(0xc208061000, 0x17fe, 0x17fe, 0xc2080d5950, 0x2, 0x2, 0x0, 0x0, 0x0, 0x0, ...)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:107 +0xba0
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.findHelper(0xc208094b00, 0x180c, 0x180c, 0xc2080d5950, 0x2, 0x2, 0x0, 0x0, 0x0, 0x0, ...)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.findHelper(0xc208093200, 0x1820, 0x1820, 0xc20800d180, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, ...)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:118 +0xaea
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.findHelper(0xc208091900, 0x182e, 0x182e, 0xe742b0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:107 +0xba0
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.findHelper(0xc208090000, 0x183e, 0x183e, 0xe742b0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:107 +0xba0
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.compileTemplate(0xc2080f6000, 0x1856, 0x1a56, 0xc20803bc69, 0x7, 0x0)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:171 +0x283
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.createTemplateFromFile(0xc20803bc40, 0x34, 0x34, 0x0, 0x0)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:193 +0x2ac
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.compileFile(0xc20803bc40, 0x34, 0x0, 0x0)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:198 +0x44
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.inspectTemplateFile(0xc20803bc40, 0x34, 0x7f83eb942418, 0xc20802ef50, 0x0, 0x0, 0x0, 0x0)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:208 +0xca
Apr 18 02:42:32 Asgard su[1290]: path/filepath.walk(0xc20803bc40, 0x34, 0x7f83eb942418, 0xc20802ef50, 0xac5150, 0x0, 0x0)
Apr 18 02:42:32 Asgard su[1290]: /usr/local/go/src/path/filepath/path.go:347 +0x91
Apr 18 02:42:32 Asgard su[1290]: path/filepath.walk(0xc20803d830, 0x28, 0x7f83eb942418, 0xc20802fc70, 0xac5150, 0x0, 0x0)
Apr 18 02:42:32 Asgard su[1290]: /usr/local/go/src/path/filepath/path.go:372 +0x51d
Apr 18 02:42:32 Asgard su[1290]: path/filepath.Walk(0xc20803d830, 0x28, 0xac5150, 0x0, 0x0)
Apr 18 02:42:32 Asgard su[1290]: /usr/local/go/src/path/filepath/path.go:394 +0xf2
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.compileTheme(0xc20803d830, 0x28, 0x0, 0x0)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:221 +0x234
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.checkThemes(0x0, 0x0)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:257 +0x16e
Apr 18 02:42:32 Asgard su[1290]: github.com/kabukky/journey/templates.Generate(0x0, 0x0)
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/templates/generation.go:293 +0xcd
Apr 18 02:42:32 Asgard su[1290]: main.main()
Apr 18 02:42:32 Asgard su[1290]: /go/src/github.com/kabukky/journey/main.go:73 +0x54a
Apr 18 02:42:32 Asgard su[1290]: goroutine 5 [chan receive]:
Apr 18 02:42:32 Asgard su[1290]: database/sql.(*DB).connectionOpener(0xc20803f9a0)
Apr 18 02:42:32 Asgard su[1290]: /usr/local/go/src/database/sql/sql.go:589 +0x4c
Apr 18 02:42:32 Asgard su[1290]: created by database/sql.Open
Apr 18 02:42:32 Asgard su[1290]: /usr/local/go/src/database/sql/sql.go:452 +0x31c
Apr 18 02:42:32 Asgard su[1290]: goroutine 17 [syscall, locked to thread]:
Apr 18 02:42:32 Asgard su[1290]: runtime.goexit()
Apr 18 02:42:32 Asgard su[1290]: /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1
Apr 18 02:42:32 Asgard systemd[1]: journey.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Apr 18 02:42:32 Asgard su[1290]: pam_unix(su-l:session): session closed for user wesley
Apr 18 02:42:32 Asgard systemd[1]: journey.service: Unit entered failed state.
Apr 18 02:42:32 Asgard systemd[1]: journey.service: Failed with result 'exit-code'.

Having trouble loading up alternative themes, seems Journey crashes when a i select a new theme and reload the service, tried odin and casper themes.

Any idea what may be causing this?

Tracking bugs and parity with Ghost [ongoing]

Here's a reference for @kabukky and everyone who would like to contribute to this project. I've discovered multiple bugs and features that are lacking. I know I'm kind of demanding, but I hope Journey can be a full replacement for Ghost which has a pretty high memory footprint (80MB+), while the memory usage of Journey is around 10MB.

This list will be updated from time to time.


TODO

Admin:

  • post: add date/time field (currently the publish date/time of a post can't be changed to an arbitrary value)
  • post scheduling #43
  • markdown keyboard shortcuts, all those implemented in Ghost
  • tag management: meta_description / slug / name of tags should be modifiable
  • markdown engine: ==blah== for <mark>blah</mark>

Code cleanup

  • controller code in /built-in/admin/admin-angular.js is quite redundant
    • $scope.navbarHtml = $sce.trustAsHtml('<blah blah blah>'); appears 4 times
    • EditCtrl and CreateCtrl can share a large portion of code
  • <nav class="navbar navbar-default navbar-fixed-top">blah blah</nav> repeatedly appears in multiple html template files

Template:

  • {{next_post}} and {{prev_post}} helpers http://themes.ghost.org/docs/prev_next_post
  • {{is}} helper #50; {{has}} helper #69
  • use error.hbs in theme when 500 / 404 / etc. is returned (no more sql: no rows in result set and HTTP 500 response)
  • SEO metadata / post schema for sharing to Facebook / Twitter / social networking sites

Extra miscellaneous enhancement (maybe less frequently used / less important):

  • for SEO purposes, generate and serve /sitemap.xml
  • helpers & admin: tag settings: name / slug / description / image
    • currently there are warnings in logs: Warning: This helper is not implemented: tag.image Warning: This helper is not implemented: tag.description
  • admin: notify users when session expired / server rebooted / is disconnected from the Internet, which causes loss of settings

Also those @kabukky has mentioned on HN:

  • hashes for serving static assets (which should be optional; can be turned off in config.json)
  • gzip support (which should also be optional)
  • MySQL, PostgreSQL support #61
  • Google App Engine support #23
  • multi-user support

Plus my suggestions:

  • new option: listen to UNIX socket rather than TCP ports (and users can specify path to socket file descriptor via config.json)
  • post search in admin UI (For a public blog post search feature, I think we can simply include a Google CSE box, if we'd like to.)
    • post filtering: exactly like this one: TryGhost/Ghost#2640, with search functionality by keywords
    • intra-site hyperlink auto-complete: suggest links when users insert anchors ![blah](/) in the markdown editor
      • That would be a time-saving feature for users who frequently insert hyperlinks to their own blog posts.
      • It is inspired by the auto-complete feature here on GitHub: whenever I type # in the editor right here, a list of project issues pops up. I can click or press key up/down to select a link, or type in keywords to search for a post.
  • "Channels", a WIP feature in Ghost. Take a look here: https://github.com/TryGhost/Ghost/wiki/Channels-101

Done

General:

  • navigation #25
  • user: add author name field (for example, the user name slug tomkwok is output (instead of a customizable name field in which I can fill in Tom Kwok) for {{#author}}{{name}}{{/author}})
  • post: meta_description
  • markdown: support for footnotes
  • SEO: canonical url output
  • noplugins build tag; conditional compilation of the plugin system

RSS:

  • change: use absolute URL in link to post, not something like <link>/new-post</link>
  • bugfix: CDATA tag output #9
  • bugfix: wrong date format; it should be like <pubDate>Sat, 30 Aug 2014 08:54:00 GMT</pubDate>
  • enhancement: ability to use post image in RSS feed, like <media:content url="https://example.com/blah.jpg" medium="image"/>

Error handling for incorrect urls / pages that have no posts

  • The current code handles output for incorrect page numbers (non-natural numbers), including /page/0/, /page/-1/, etc. as if it is /, and displays item listings for page 1 with something like Page 0 of 1 in the pagination area. It should return a 404, or redirect visitors to /.
  • Also, /page/1/ and /tag/blahblah/page/1/ (etc.) should be redirected (301 or 302?) to / and
    /tag/blahblah/ respectively.
  • Furthermore, /page/9999/ or non-existent pages should be redirected (301 or 302?) to home /.
// TODO: Error handling if there is no Posts[values.CurrentPostIndex]

Add startup options to override filename paths

I am building docker image for journey.
In order for it to run it would be nice to be able to change file locations so I can mount external folder to journey docker container in order to preserve data, since once container stops all data is lost.

I was thinking something like:
journey --filenames-path /var/some-path

If you would allow, I would be happy to fork the repo and implement these changes.

404 on /admin/register

▶ curl http://127.0.0.1:8084/admin/ -Lv
* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 8084 (#0)
> GET /admin/ HTTP/1.1
> User-Agent: curl/7.37.1
> Host: 127.0.0.1:8084
> Accept: */*
>
< HTTP/1.1 302 Found
< Location: /admin/register/
< Date: Sun, 26 Apr 2015 04:20:45 GMT
< Content-Length: 39
< Content-Type: text/html; charset=utf-8
<
* Ignoring the response-body
* Connection #0 to host 127.0.0.1 left intact
* Issue another request to this URL: 'http://127.0.0.1:8084/admin/register/'
* Found bundle for host 127.0.0.1: 0x7ff4d0414df0
* Re-using existing connection! (#0) with host 127.0.0.1
* Connected to 127.0.0.1 (127.0.0.1) port 8084 (#0)
> GET /admin/register/ HTTP/1.1
> User-Agent: curl/7.37.1
> Host: 127.0.0.1:8084
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Content-Type: text/plain; charset=utf-8
< Date: Sun, 26 Apr 2015 04:20:45 GMT
< Content-Length: 19
<
404 page not found
* Connection #0 to host 127.0.0.1 left intact

Import/migrate feature

HI Kai - great work on journey!!

just wondering if there are plans to add an import/migration feature?

  • jekyll/octpress/wordpress/ghost etc .

Cheers

Justin

Add build tags to let users conditionally compile the plugin system

Some users, like me, may find directly modifying the source code a better approach to add small features / helpers as this avoids the of overhead of a Lua (or possibly JS #15) VM.

So maybe adding build tags to let users conditionally compile the plugin system (including the VM) would be a good idea.

Can't cross compile for ARM v7

I've tried differents things. The target is the Raspberry Pi 2.

Host OS: Ubuntu 15.10 i386
The error is gcc: error: unrecognized command line option ‘-marm’

Here are the commands i have tried:

env GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=1 go build
and inspired by https://gist.github.com/steeve/6905542

CC=arm-linux-gnueabihf-gcc GOOS=linux GOARCH=arm GOARM=7 CGO_ENABLED=1 go build -v -o myprogram -ldflags="-extld=$CC"

Login by name? Not slug?

Hi,

I've had a lot of trouble logging in to Journal after setting it up and playing with the database. It took me some time to figure out, but I wonder if you shouldn't think through the login process again?

It currently checks the user's name and password, but the name field is a blob in the database which I think is a bit strange for a login value... And even more, on the Admin page it seems pretty clear that Name can be changed to something different, for instance the full name of the user, instead of just a short username.

So after I had changed the Name field to a long, proper name, I suddenly found myself unable to log back in. :-)

Would you consider modifying the login procedure to check the slug or email fields instead of the name field, or possibly allow a match on either of the three fields? I'd be happy to do the change for you, but I'm not sure if the current process is by design or not. In case you'd like to keep checking against the name field, I think it should be specified a bit clearer on the login page which data to input.

Also, I think this is an awesome project. I hope to start contributing a bit within the next few days.

Best regards,
Tore M. Havn

Settings don't save

I just started the debian stable version on my debian server, and the settings page doesn't want to save when I try to change something there.

Markdown formatting posts

Running journey-linux-amd64.zip v0.1.9
Markdown previews in admin area editor, but after saving, both the post list and the actual blog display unprocessed markdown source.

Issue when from 0.1.6 to 0.1.7

log.txt is full of messages as such:

2015/05/07 11:44:38 Error: Couldn't generate blog data: sql: no rows in result set

and the blog is not responding.

Roll back to the previous version helps

Slash and backslash on Windows

On Windows, the uploaded post cover image filepaths begins with /images but then comes the remaining part of the location \2015\4\hash.jpg which gives /images\2015\4\hash.jpg in the rendered page.

Add Post Scheduling

Is this a possibility? It's the missing featuring which is preventing me from moving to ghost at the moment, but I'm more interested in using a Go based blog than a Node.js based one.

feeds: W3C feed validator report

I can't create a new issue in your fork of feeds, so I report problems here.

According to the report from W3C feed validator https://validator.w3.org/feed/#validate_by_input of my feed output at /rss/,

  • Line 1: there should be a line break after <?xml version="1.0" encoding="UTF-8"?>
  • The validator says guid must be a full URL, unless isPermaLink attribute, so all <guid> should become <guid isPermaLink="false">
  • It says pubDate must be an RFC-822 date-time. Replacing UTC with GMT in Mon, 27 Jul 2015 15:49:30 UTC fixes the issue. See https://validator.w3.org/feed/docs/error/InvalidRFC2822Date.html
  • Don't output something like <author>Tom Kwok</author>. Ghost doesn't do this. The validator says Tom Kwok is an invalid email address. https://validator.w3.org/feed/docs/error/InvalidContact.html. Follow Ghost's engine. Output something like <dc:creator><![CDATA[John O'Nolan]]></dc:creator>
  • <media:content medium="image" url="http://127.0.0.1:9084/images/2015/06/test.png"><title>blah</title></media:content>: remove the title tag

Fixing all of the above issues will make the feed validate.

It also give the following recommendations: (if we are not following these, the feed still validates)

I've discovered one more problem:

  • Line 6: <pubDate>Mon, 27 Jul 2015 15:49:30 HKT</pubDate>
    thepubDate tag should be replaced by a lastBuildDate tag,

two timezones in one rss feed

The rss feed shows CEST (current) timezone for the channel/pubDate and UTC for channel/item/pubDate. I guess this is allowed by the standard but a bit confusing. Maybe it should be configurable which TZ to use (in all cases).

Cwd should not be set to the binary location

Shell/OS have support for setting the current working directory already. Setting this unexpectedly on the user increases the learning curve and complexity without advantage. See again Principle of Least Astonishment.

Couple issues

Really like your project. Couple issues I found so far:

  1. No logout
  2. /about, /projects
    sql: no rows in result set

Thanks for your work

segmentation fault when building from source

Seeing this

26357 segmentation fault  go get github.com/kabukky/journey

My go env

go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/uri/go"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/gcc/x86_64-linux-gnu/5"
CC="/usr/bin/gcc-5"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="/usr/bin/g++-5"
CGO_ENABLED="1"

Question about support for PostgreSQL

Hello,

I have found this project while looking for some foundation on which to build our new church web site. Now it is my understanding that this project is using SQLite which is sadly not usable for Heroku deployment as a file system there is ephemeral. What would be the prospects to adapt this project to use PostgreSQL?

Change "sql: no rows in result set"

I propose changing "sql: no rows in result set" for yet to be created pages to something more understandable by the average user, such as "Page not found, add a custom slug to create it!"

App Engine support

Hi there, how hard would be to add App Engine support? I'm mainly java dev but keen on trying GO and have experience with App Engine - had a quick look into database package and seems to me like I would need to add just a new impl for GAE datastore and then somehow inject differenet database impl into main code - is that right or are there any other catches?

hbs file missing

Hi, I clone the code from your project, and when I run the project, it report the following error:
Couldn't compile templates: Couldn't compile template 'index'. Is index.hbs missing?

Where can I find the index.hbs file? how can I generate it?

Thanks very much!

RSS Feed

The feed title and all posts get wrapped in extraneous <![CDATA[ and ]]> tags. Tested on latest Firefox in Windows 8.1.

Imgur

/rss/ source:

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0">
  <channel>
    <title>&lt;![CDATA[My Blog]]&gt;</title>
    <link></link>
    <description>&lt;![CDATA[Just another Blog]]&gt;</description>
    <pubDate>25 Apr 15 15:41 EDT</pubDate>
    <item>
      <title>&lt;![CDATA[Hello World]]&gt;</title>
      <link>/hello-world</link>
      <description>&lt;![CDATA[&lt;p&gt;&lt;strong&gt;Test&lt;/strong&gt;&lt;br /&gt;&#xA;Markdown here&lt;/p&gt;&#xA;]]&gt;</description>
      <author>Aditya</author>
      <guid>8e5b0b49-7c5d-4789-b64e-271cb9018c5e</guid>
      <pubDate>25 Apr 15 19:18 UTC</pubDate>
    </item>
  </channel>
</rss>

Lua plugin functionality to return this post

I've written a Ghost plugin which contains a helpers to return post content and excerpts. It does this by grabbing this.html, where this is whatever post wraps my custom helper when it's called. getPost(1) achieves the same result if there's only one post on the page, but falls short inside a {{#foreach posts}} loop.

I'm trying to port it over to Journey, but I'm not sure there's a way to get "this post" in that way using Journey's plugin system without writing a new {{#foreach posts}} helper that works with array indices or something drastic like that. If I'm wrong, please explain what I'm missing and close this – otherwise consider it a feature request.

(On a related note, I also have no idea how to tell Journey not to HTML encode certain returned strings)

/admin/ page issue

Hey there.

cool little app you have going on here. From a User perspective it may be wise to redirect to Login page from /admin/ when a user already exists (or adding a login button).

manually typing /admin/login will lose some users who don't know better ;)

Can't wait to see more!

-Ozzadar

Ghost themes support bug.

panic: runtime error: slice bounds out of range

goroutine 1 [running]:
github.com/kabukky/journey/templates.findHelper(0xc820184000, 0x2de, 0x4de, 0xf4b5c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
    /var/www/src/github.com/kabukky/journey/templates/generation.go:94 +0xc4d
github.com/kabukky/journey/templates.compileTemplate(0xc820184000, 0x2de, 0x4de, 0xc8201754df, 0x7, 0x0)
    /var/www/src/github.com/kabukky/journey/templates/generation.go:172 +0x258
github.com/kabukky/journey/templates.createTemplateFromFile(0xc8201754a0, 0x4a, 0x0, 0x0, 0x0)
    /var/www/src/github.com/kabukky/journey/templates/generation.go:194 +0x29d
github.com/kabukky/journey/templates.compileFile(0xc8201754a0, 0x4a, 0x0, 0x0)
    /var/www/src/github.com/kabukky/journey/templates/generation.go:199 +0x3b
github.com/kabukky/journey/templates.inspectTemplateFile(0xc8201754a0, 0x4a, 0x7fcb125d0768, 0xc820175540, 0x0, 0x0, 0x0, 0x0)
    /var/www/src/github.com/kabukky/journey/templates/generation.go:209 +0xbc
path/filepath.walk(0xc8201754a0, 0x4a, 0x7fcb125d0768, 0xc820175540, 0xb4ecc0, 0x0, 0x0)
    /usr/local/go/src/path/filepath/path.go:349 +0x80
path/filepath.walk(0xc8200e6680, 0x3e, 0x7fcb125d0768, 0xc82014a500, 0xb4ecc0, 0x0, 0x0)
    /usr/local/go/src/path/filepath/path.go:374 +0x4fc
path/filepath.Walk(0xc8200e6680, 0x3e, 0xb4ecc0, 0x0, 0x0)
    /usr/local/go/src/path/filepath/path.go:396 +0xe1
github.com/kabukky/journey/templates.compileTheme(0xc8200e6680, 0x3e, 0x0, 0x0)
    /var/www/src/github.com/kabukky/journey/templates/generation.go:222 +0x257
github.com/kabukky/journey/templates.checkThemes(0x0, 0x0)
    /var/www/src/github.com/kabukky/journey/templates/generation.go:258 +0x195
github.com/kabukky/journey/templates.Generate(0x0, 0x0)
    /var/www/src/github.com/kabukky/journey/templates/generation.go:294 +0xeb
main.main()
    /var/www/src/github.com/kabukky/journey/main.go:73 +0x5da


Use this code block:
    endPos := -1
    if startPos != -1 {
        endPos = bytes.Index(data[startPos:], closeTag)
        if endPos != -1 {
            endPos += startPos
        }
    }
instead of
    endPos := bytes.Index(data[startPos:], closeTag)

can resolve the issue.
on file: github.com/kabukky/journey/templates/generation.go:89

uuid.Formatter

install on centos 6.5, git version:2.8.3, go version:1.6.2
go get github.com/kabukky/journey

github.com/kabukky/journey/database

src/github.com/kabukky/journey/database/initialization.go:146: undefined: uuid.Formatter
src/github.com/kabukky/journey/database/initialization.go:146: too many errors

Serve Minified Jquery

The un minified version is hard coded in the source, please change to minified so that low bandwith clients feel less pain.

Implement CI and merge control

Are there options? Travis perhaps. I forked to make some changes and have a build that needs changes to get working.

"github.com/kabukky/journey/date" cant find this for example

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.