noumenon 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/noumenon/version.rb +1 -1
  2. data/noumenon.gemspec +16 -1
  3. metadata +12 -83
@@ -1,3 +1,3 @@
1
1
  module Noumenon
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/noumenon.gemspec CHANGED
@@ -10,7 +10,22 @@ Gem::Specification.new do |s|
10
10
  s.email = ["jon@blankpad.net"]
11
11
  s.homepage = "https://github.com/Noumenon"
12
12
  s.summary = %q{An content management system backed by Git}
13
- s.description = File.read("README.md")
13
+ s.description = <<EOF
14
+ Noumenon is a content management system designed to be backed by a file system, with
15
+ theme support.
16
+
17
+ It's currently in an early stage of development, but right now you can create a basic
18
+ static site using templates from a theme which specify the structure and presentation
19
+ of your content, and YAML files which specify the actual content to place in those
20
+ templates.
21
+
22
+ Future development will include an end-user friendly web interface for editing and
23
+ creating content, while retaining the ability for developers and designers to manage
24
+ the site's presentation using the tools they're most comfortable with.
25
+
26
+ See http://github.com/Noumenon/example-app/ for a really bare bones example of how
27
+ Noumenon works.
28
+ EOF
14
29
 
15
30
  s.rubyforge_project = "noumenon"
16
31
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: noumenon
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.1
5
+ version: 0.0.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jon Wood
@@ -58,91 +58,20 @@ dependencies:
58
58
  type: :development
59
59
  version_requirements: *id004
60
60
  description: |
61
- # Noumenon
61
+ Noumenon is a content management system designed to be backed by a file system, with
62
+ theme support.
62
63
 
63
- Noumenon: Noun. The intellectual conception of a thing as it is in itself, not as it is known through perception.
64
+ It's currently in an early stage of development, but right now you can create a basic
65
+ static site using templates from a theme which specify the structure and presentation
66
+ of your content, and YAML files which specify the actual content to place in those
67
+ templates.
64
68
 
65
- ## What is This Thing?
69
+ Future development will include an end-user friendly web interface for editing and
70
+ creating content, while retaining the ability for developers and designers to manage
71
+ the site's presentation using the tools they're most comfortable with.
66
72
 
67
- Noumenon is a web application based on Sinatra for constructing dynamic websites which use a Git repository
68
- for storing all content. It's designed to allow technical and non-technical teams to collaborate on development and
69
- populate of a content management system using the tools they are most comfortable with.
70
-
71
- In the case of developers (and some designers) that's version control and text editors, while in the case of content
72
- editors thats more likely to be a web interface.
73
-
74
- ## How it Works
75
-
76
- The URL structure and content of a Noumenon site is defined by a Git repository, similar to the structure below:
77
-
78
- /
79
- - /config.rb
80
- - /index.html
81
- - /about
82
- - /people.html
83
- - /company.html
84
- - /contact
85
- - /config.rb
86
- - /blog
87
- - /config.rb
88
- - /posts/2011-04-18-an-example-post.md
89
- - /posts/2011-04-10-another-example.md
90
-
91
- This git repository is then provided to Noumenon as it's data source. On startup it loads any file called "config.rb"
92
- and uses it to determine how that directory should behave:
93
-
94
- # /config.rb
95
- domain "example.org"
96
- application "git://github.com/noumenon/apps-static"
97
- theme "git://github.com/noumenon/themes-example"
98
-
99
- That example configures Noumenon to use the "Noumenon::Static" application to serve any templates below that point as
100
- a static page.
101
-
102
- # /contact/config.rb
103
- application "git://github.com/noumenon/apps-contact"
104
- contact.email_address "info@example.org"
105
-
106
- While the one in /contact specifies that "Noumenon::Contact" should be used to provide the URL tree below /contact, in this
107
- case a contact form which emails any responses to the specified address.
108
-
109
- Finally /blogs/config.rb might look something like this:
110
-
111
- application "git://github.com/noumenon/apps-blog"
112
- blog.comments true
113
-
114
- ## Hosting a Noumenon Site
115
-
116
- *This won't work yet: I havn't implemented automatic check out of a content repository.*
117
-
118
- To host a site you will need to have Ruby and an application server such as Passenger, Unicorn or Thin. Due it's interactions
119
- with git as a data store Heroku is not a supported platform for hosting, although I'm sure someone will find a way around that.
120
-
121
- Install Noumenon: `gem install noumenon`
122
-
123
- Create a directory, and put the following config.ru in it:
124
-
125
- require 'noumenon'
126
- Noumenon::Core.set :content_repository, "git@github.com:Noumenon/example.git"
127
-
128
- run Noumenon.boot
129
-
130
- And then set up your application server to provide that application. On startup it will first attempt to check out the content
131
- repository, then it will parse any configuration files, and install any required dependencies. Finally, it will start hosting
132
- the site.
133
-
134
- To update the content repository restart your application server, which will cause it to update the repository, and any dependencies.
135
-
136
- ### Hosting on Heroku
137
-
138
- The someone who worked out the way around it was me it seems. This will only work if you're deploying an entirely static site,
139
- if you need the admin section to work then you'll have to host somewhere else, but otherwise, use a config.ru like this, and make
140
- sure you have Noumenon in your Gemfile:
141
-
142
- require 'noumenon'
143
- Noumenon::Core.set :content_repository_path, File.expand_path("..", __FILE__)
144
-
145
- run Noumenon.boot
73
+ See http://github.com/Noumenon/example-app/ for a really bare bones example of how
74
+ Noumenon works.
146
75
 
147
76
  email:
148
77
  - jon@blankpad.net