noumenon 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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