Coder Social home page Coder Social logo

obtvse's People

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

obtvse's Issues

Running on Mac OSX

I keep getting the following error:

rails s

in /Volumes/Projects/obtvse
/Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in require': no such file to load -- ripper (LoadError) from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:inrequire'
from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:236:in load_dependency' from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:inrequire'
from /Library/Ruby/Gems/1.8/gems/rails_best_practices-1.9.0/lib/rails_best_practices/core/runner.rb:3
from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in require' from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:inrequire'
from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:236:in load_dependency' from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:inrequire'
from /Library/Ruby/Gems/1.8/gems/rails_best_practices-1.9.0/lib/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review.rb:2
from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in require' from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:inrequire'
from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:236:in load_dependency' from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:inrequire'
from /Library/Ruby/Gems/1.8/gems/rails_best_practices-1.9.0/lib/rails_best_practices/reviews.rb:24
from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in require' from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:inrequire'
from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:236:in load_dependency' from /Library/Ruby/Gems/1.8/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:inrequire'
from /Library/Ruby/Gems/1.8/gems/rails_best_practices-1.9.0/lib/rails_best_practices.rb:27
from /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:68:in require' from /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:68:inrequire'
from /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:66:in each' from /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:66:inrequire'
from /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in each' from /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:inrequire'
from /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler.rb:119:in require' from /Volumes/Projects/obtvse/config/application.rb:7 from /Library/Ruby/Gems/1.8/gems/railties-3.2.0/lib/rails/commands.rb:53:inrequire'
from /Library/Ruby/Gems/1.8/gems/railties-3.2.0/lib/rails/commands.rb:53
from /Library/Ruby/Gems/1.8/gems/railties-3.2.0/lib/rails/commands.rb:50:in tap' from /Library/Ruby/Gems/1.8/gems/railties-3.2.0/lib/rails/commands.rb:50 from script/rails:6:inrequire'
from script/rails:6

Text edittor runs off page

Sometimes it's impossible to see the last paragraph or so while editing a post as it runs below the page even on a larger browser. The work around is to pgEnd -> and hit return a bunch of times. However, you then need to remember to trim those trailing carriage returns. I will try to make the height of the editor more dynamic so this doesn't happen.

[refresh branch] shadow effect on admin page looks weird

refresh branch:

The shadow effect between the section on the admin screen looks like some weird attempt at a gradient based gutter between the sections instead of a shadow. My vote is for removing it entirely and replacing with solid borders of some sort.

Example:

shadow effect

Preview isn't available for drafts

Not a huge deal, but it would be nice to show previews for drafts that are not published yet.

Right now, if you preview a draft, it just displays a completely blank page.

"More" Tag Cuts Off Links, Breaks Markdown Parsing

Here's an example of the Markdown:

Hey guys, I'm making a [blog][wiki_blog] post! Read more after the [jump][wiki_Van_Halen]!
[wiki_Van_Halen]: http://en.wikipedia.org/wiki/Van_Halen
<!--more-->
I really like [blogging][wiki_blog]. It's just so fun!

\[wiki_blog]: http://en.wikipedia.org/wiki/Blog
\[wiki_Van_Halen]: http://en.wikipedia.org/wiki/Van_Halen

Currently, the above example, viewed from the home page, would appear like this (where bold represents a link.

Hey guys, I'm making a [blog][wiki_blog] post! Read more after the jump!

When viewing the posts own page, everything displays as it's supposed to. I'm hoping to fix this myself when I get more time in a week or so, but I wanted to document it in case anyone got here first (and to remind myself, should I forget!).

Argh. Tabs

The fact that you used tabs for indentation in seemingly random places in your codebase is, in my opinion, not okay. I know it sounds like a small thing, but it makes viewing and editing the code not pleasant. If each tab could be converted to two spaces, that would be great. Vim has a nice feature to do this painlessly (see http://vim.wikia.com/wiki/Converting_tabs_to_spaces).

Overall, cool project :-)

can't set post[slug] with curl post

using curb for migraton

I am using curb to migrate posts to obtvse.

But I can't set slug.

c = Curl::Easy.http_post("http://username:[email protected]:3000/posts",
                         Curl::PostField.content('post[title]', 'title from curb'),
                         Curl::PostField.content('post[content]', 'content-crub'),
                         Curl::PostField.content('post[slug]', "this-is-slug"),
                         Curl::PostField.content('post[url]', ''),
                         Curl::PostField.content('post[draft]', '0'))

Expected slug: this-is-slug

Actual slug: title-from-curb

Something extra: How to set created time of a post?

OK, I see it's done but not in the master branch at the moment
ref: /obtvse/issues/69

Security issues...

I think the simple http authentication should be replaced with a more secure system -- possibly authlogic https://github.com/binarylogic/authlogic/

additionally, example.html/admin is the number is the number 1 place someone would try and crack. maybe instead of /admin it could be /login as defined in config.yml

I'll work on incorporating this into a fork, but just wanted to mention it as issue...

Hey man

I just wanted to say I think you've done a good job. Forget why you've done what you've done thats not the point, I like the thought of a blog platform for hackers. I'm going to tinker with the visual layout at lunch and set up my own blog. I'll send a pull request, or something.

bundle install fails

using

ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin10.0]

gem --version
1.8.23

bundle install fails with the following error on osx

Users/josephmisiti/mathandpencil/projects/blog/Gemfile:13:in evaluate': compile error /Users/josephmisiti/mathandpencil/projects/blog/Gemfile:13: syntax error, unexpected ':', expecting $end gem 'stringex', '~> 1', git: 'git://github.com/rsl/stringex.git' ^ (SyntaxError) /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/definition.rb:18:inbuild'
/Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler.rb:135:in definition' /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/cli.rb:220:ininstall'
/Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/task.rb:22:in send' /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/task.rb:22:inrun'
/Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/invocation.rb:118:in invoke_task' /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor.rb:263:indispatch'
/Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/base.rb:386:in start' /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/bin/bundle:13 /usr/bin/bundle:23:inload'
/usr/bin/bundle:23
There was an error in your Gemfile, and Bundler cannot continue.

There was an error in your Gemfile, and Bundler cannot continue.

Hi all,
I just come across this problem when I try to "bundle install" obtvse:

/Users/yyl/Desktop/NateW-obtvse-3b6beb8/Gemfile:49:in evaluate': compile error /Users/yyl/Desktop/NateW-obtvse-3b6beb8/Gemfile:40: syntax error, unexpected ':', expecting kEND gem 'sqlite3', '~> 1', platform: [:ruby, :mswin, :mingw] ^ (SyntaxError) /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/definition.rb:18:inbuild'
/Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler.rb:135:in definition' /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/cli.rb:220:ininstall'
/Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/task.rb:22:in send' /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/task.rb:22:inrun'
/Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/invocation.rb:118:in invoke_task' /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor.rb:263:indispatch'
/Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/vendor/thor/base.rb:386:in start' /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/bin/bundle:13 /usr/bin/bundle:23:inload'
/usr/bin/bundle:23
There was an error in your Gemfile, and Bundler cannot continue.

I googled it but found no luck also I try to fix that file but nothing works. I am absolutely new to ruby, could anyone kindly point out where it went wrong? Thanks!

Demo does not work anymore.

It's giving 500 errors.

http get http://obtvse.herokuapp.com/
HTTP/1.1 500 Internal Server Error
Content-Type: text/html; charset=utf-8
Date: Mon, 29 Oct 2012 08:49:23 GMT
Server: thin 1.3.1 codename Triple Espresso
X-Rack-Cache: miss
X-Request-Id: d2e39fb820d85c2d1eee9295e8dbae18
X-Runtime: 2.362678
Content-Length: 643
Connection: keep-alive

<!DOCTYPE html>
<html>
<head>
  <title>We're sorry, but something went wrong (500)</title>
  <style type="text/css">
    body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
    div.dialog {
      width: 25em;
      padding: 0 4em;
      margin: 4em auto 0 auto;
      border: 1px solid #ccc;
      border-right-color: #999;
      border-bottom-color: #999;
    }
    h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
  </style>
</head>

<body>
  <!-- This file lives in public/500.html -->
  <div class="dialog">
    <h1>We're sorry, but something went wrong.</h1>
  </div>
</body>
</html>

Easier Deployment

We have Heroku, but the #1 issue people are having now is deployment.

We should

  1. Collect the best guides for Rails deployment on a variety of platforms
  2. Include capistrano examples
  3. Set up a EC2 instance or VM image with Obtvse pre-configured?

RSS feed parser seems to break with YouTube embeds

From what I can tell the RSS parser seems to work perfectly up until you use the YouTube embed. When you attempt to pull down an RSS feed with an embedded youtube player, it reports this error:

Missing partial posts/youtube, application/youtube with {:locale=>[:en], :formats=>[:rss], :handlers=>[:erb, :builder, :coffee]}. Searched in:
  * "/home/*****/obtvse/app/views"
  * "/var/lib/gems/1.9.1/gems/kaminari-0.13.0/app/views"

Improper display of long post titles on admin index page of 'refresh' branch

For posts with a long title, the text in the admin index page overflows over the top of any subsequent post titles. Here's a screenshot:

post title problem

In the above image, the second post in the sequence is the one with the really long name, and it's the third post that is called "Title link". I'm thinking this is probably just a whitespace wrapping attribute or a forced attribute height somewhere the doesn't account for overflow.

It's clearly not a problem many people will have, but I thought it was worth bringing up. I'd look into it myself but I'm just about to start into a new job and don't have time to look at it just now.

BTW the work you've done on the refresh branch looks fantastic! I love that new LHS sidebar in the post edit screen—it was a little hard to find where I had to go to save changes to a post (the bottom right circle thing wasn't immediately obvious), but I really do like the direction you're going in!

Tags attaching

How about adding ability of attaching tags to a post? We could create new model called Tag and establish relationship between it and Post.
We could integrate some jQuery plugin for the frontend such as http://johannburkard.de/blog/programming/javascript/dynacloud-a-dynamic-javascript-tag-keyword-cloud-with-jquery.html
And of course we would be able to enable/disable this feature in config file.
I think, the idea is worth it and i am ready to start working on it.
I would be grateful for any advice.

Sort posts by published rather than by creation of draft

Hi NateW,

First off, I just want to say thank you for creating this 'replica' of svbtle. I would have created it for myself months back if you had not created it, as I too love the way that it is so distract-free. So, thank you on that!

Next, my coding skills isn't that great, still learning. However, throughout my weeks of using obtvse, I noticed that posts are sorted via the creation date of the post (draft or otherwise). I understand you simple switch 'on' or 'off' the draft property for the posts model, which can make it tricky for me to implement sorting of Posts by draft instead of creation date.

I ask this because I usually type in the draft random ideas or what not, and generally only publish them after a certain period of time depending on my mood of writing. Meanwhile, I have written and 'published' other posts. Thus, when I publish the post from before, it appears 'hidden'.

Any ideas?

Thanks!

Refresh UI based on Master

Hey Nate, love Obtvse and the community around it. I've recently been playing with it. Goal is to implement you're "to-do's" and a few other things as well.

I saw your release of the refresh branch and thought I'd play with it. I really liked the UI of the original obtvse/subtvse so I thought I'd revert it back to that. Kind of hackish but thought I'd share for people who liked the other interface but the new admin interface.

-Zach

can't comment out tagline: in config.yml

Problem:

If one comments out the tagline in comfig.yml, app throws fatal error,

Cause:

There is no if to check whether tagline is presented or not in application.html.erb:

NoMethodError in Posts#index

Showing /obtvse/app/views/layouts/application.html.erb where line #16 raised:

undefined method `html_safe' for nil:NilClass
Extracted source (around line #16):

13:   <% unless @no_header %>
14:   <header>
15:     <h1><%= link_to CONFIG['title'], root_url %></h1>
16:     <span><%= CONFIG['tagline'].html_safe %></span>
17:     <ul>
18:       <% if CONFIG['twitter'] %>
19:       <li><%= link_to '@' + CONFIG['twitter'], 'http://twitter.com/' + CONFIG['twitter'] %></li>

License?

Could you add a license for this project (preferably something like MIT)? I'd like to fork it for a similar, but separate open source project.

Thanks for the starting point!

Edit post data

Can I edit permalinks or the post date from the interface yet?

Caching engine

There are a few choices for caching, of course:

  • The all standard Memcached, available on 99.9% of hosts including Heroku. I'd suggest the dalli gem and I've already added it into a pull request, albeit commented out. Fast and clean.
  • You've also got Redis, also powerful (some consider it more powerful). You can get a free nano instance on Heroku and the gem of choice is redis-store.
  • Other options include MongoDB and Riak, but only MongoDB is available on Heroku. Twice even! Mongolabs offers free 250MB instances. MongoDB is also incredibly easy to install on, say, amazon ec2 instances. Not sure what I'd pick for the gem. Looks like moped is coming along great?

Thoughts?

Published date

I started writing an article back in March and was trying to publish it today, but the published date is set to the date I created it. Functionality wise it makes sense to update the published date to the day I take off the "draft" flag.

At least I should be able to change the date in settings and not have to muck with the database to do this kind of edit.

'rails s' fails with Psych::SyntaxError on Mac OS X

What am i doing wrong? bundle install runs fine, ruby is at 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.0.0].

rMBP:obtvse Tobias$ rails s => Booting Thin => Rails 3.2.0 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server Exiting /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:203:in parse': (): found character that cannot start any token while scanning for the next token at line 7 column 22 (Psych::SyntaxError)
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:203:in parse_stream' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:151:in parse'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/psych.rb:127:in load' from /Users/Tobias/Dropbox/obtvse/config/initializers/config.rb:1:in <top (required)>'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:245:in load' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:245:in block in load'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:236:in load_dependency' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:245:in load'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/engine.rb:588:in block (2 levels) in <class:Engine>' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/engine.rb:587:in each'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/engine.rb:587:in block in <class:Engine>' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:30:in instance_exec'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:30:in run' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:55:in block in run_initializers'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:54:in each' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:54:in run_initializers'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/application.rb:136:in initialize!' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/railtie/configurable.rb:30:in method_missing'
from /Users/Tobias/Dropbox/obtvse/config/environment.rb:5:in <top (required)>' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in require'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in block in require' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:236:in load_dependency'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in require' from /Users/Tobias/Dropbox/obtvse/config.ru:4:in block in

'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in instance_eval' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in initialize'
from /Users/Tobias/Dropbox/obtvse/config.ru:1:in new' from /Users/Tobias/Dropbox/obtvse/config.ru:1:in '
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in eval' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:40:in parse_file'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:200:in app' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/commands/server.rb:46:in app'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:301:in wrapped_app' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.1/lib/rack/server.rb:252:in start'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/commands/server.rb:70:in start' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/commands.rb:55:in block in <top (required)>'
from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/commands.rb:50:in tap' from /Users/Tobias/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.0/lib/rails/commands.rb:50:in <top (required)>'
from script/rails:6:in require' from script/rails:6:in '
rMBP:obtvse Tobias$`

Update ?

Is pulling frequently from GitHub the only way to update my blog ?

UI: Save and "Post created successfully"

Sorry, no pull request but merely some UI feedback: Personally I'd much prefer a dirty state of the save button or, rather, autosave. Also the flash "Post created successfully" (which bumps down the main part of the page) doesn't really do anything for me. Why not reduce the whole save mechanism to autosave and save/post whatever is dirty both for preview and admin? Drafting, after all.

Deploy with Rsync?

Is there a way to deploy Obtvse with Rsync?

Sorry for the newbie question..

Photo Uploads

Paperclip + S3 + button in the bottom bar to upload. Should be easy enough.

Google analytics doesn't recognize my website

Issue

I have changed config.yml to configure item named google_analytics_id with my id, but google analytics doesn't recognize my website.

Workaround

So i changed the google analytics script in app/views/layout/application?html.erb with the standard code given by google

<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', '<%= CONFIG['google_analytics_id'] %>']);
_gaq.push(['_trackPageview']);
(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script> And Google Analytics instantly recognize my site.

Use root_url everywhere

I notice that you use CONFIG['url'] and root_url seemingly randomly. It seems you should be using one or the other, unless there are specific cases in which one is desirable.

Obtvse's templete engine

Right now obtvse is using ERB. ERB is good for a while but there are a lot of other ways to generate HTML:

  • HAML, requring less typing, clearner views, and encouraging the separation of parts (don't go 3 levels deep without partial-ling or generating in helpers), lots of people know and like HAML
  • Slim, almost exactly the same reasons as HAML, except it requires even LESS typing, is faster (faster than ERB too), and has smart rendering (See http://slim-lang.org)

You've also got other helpers in the html generating field:

  • Mab: Basically Markaby v2, but with blazing fast generation. Great for building small pockets of HTML in helpers, especially good at helping avoid if/case blocks in the view (which tend to take up 3-5 lines in ERB or haml)
  • Handlebars: Good for pushing problems to the client side, lots of recent good news (Lots of good alternatives too)
  • SAL: Hard to describe, but great for developing these types of applications. I suggest googling "github sal stonean". It's a mindblower.

Thoughts?

Testing library

We've got three choices for testing libraries:

  • RSpec: Often used, lots of support, great for dealing with complex applications
  • TestUnit: DHH loves it, can be very terse, it's "just ruby" (Alt: Minitest)
  • Cucumber: Easy to write behavior, can run through the js as well as the functionality (Alt: Spinach)

Then you've got factory libraries (I assume factories, but you could also do fixtures?)

  • FactoryGirl: Recently updated to 3.0, oft used by the community
  • Fabricator: Terser syntax, support for a multitude of ORMs, faster I think?
  • Fixtures: :(

Finally we've also got to write tests with fake data, since this is a data (blog posts, comments, etc) app:

  • Faker: Used by most
  • Forgery: Terser syntax, slightly faster, better Lorem/"internet" data

Thoughts?

Embedding Code

I love to embed videos or Storify Stories into my blog posts. Would love a way to do that to personalize my blog even more.

No scroll for content past screen height

After I wrote a long blog post on the edit page (http://iamhanchang.herokuapp.com/edit/4 to be exact in this case), I realized that there is no scroll functionality for text that extends past the screen height... I can continue typing with no problem, but it just doesn't scroll and I can't see the text that I've typed.

This is on Mac OS X Lion (Macbook Pro 13" @ 1280x800) with the latest version of Chrome running on Heroku's Cedar platform.

I'll take a look at the issue myself, if I find a fix I'll certainly send a pull request.

Lastly, thanks so much for Obtvse!!! I love it!

Better sessions

Placeholder for discussion on best way to implement sessions or users.

Also as of e9f5ba2 is_admin? isn't working.

Where did config.yml go?

Pulled the latest version of the source code and noticed that config/config.yml has been deleted. Any reason why?

Deleted here: 758bdda

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.