BxMS 0.0.18

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 (60) hide show
  1. data/bin/bxms +8 -0
  2. data/bin/bxms.bat +3 -0
  3. data/bin/bxms.rb +8 -0
  4. data/bin/bxms.sh +3 -0
  5. data/examples/www.berlinfactor.com/Bx.css +317 -0
  6. data/examples/www.berlinfactor.com/Bx.js +39 -0
  7. data/examples/www.berlinfactor.com/Section.Books/books.txt +198 -0
  8. data/examples/www.berlinfactor.com/Section.Books/index.page +18 -0
  9. data/examples/www.berlinfactor.com/Section.Bx/index.page +18 -0
  10. data/examples/www.berlinfactor.com/Section.Contact/index.page +12 -0
  11. data/examples/www.berlinfactor.com/Section.Links/Game.Development.txt +6 -0
  12. data/examples/www.berlinfactor.com/Section.Links/News.and.Stuff.txt +10 -0
  13. data/examples/www.berlinfactor.com/Section.Links/Software.Development.txt +25 -0
  14. data/examples/www.berlinfactor.com/Section.Links/Symbian.Development.txt +22 -0
  15. data/examples/www.berlinfactor.com/Section.Links/Tools.and.Utilities.txt +15 -0
  16. data/examples/www.berlinfactor.com/Section.Links/index.page +31 -0
  17. data/examples/www.berlinfactor.com/favicon.ico +0 -0
  18. data/examples/www.berlinfactor.com/images/background.png +0 -0
  19. data/examples/www.berlinfactor.com/images/logo_above.gif +0 -0
  20. data/examples/www.berlinfactor.com/images/logo_below.gif +0 -0
  21. data/examples/www.berlinfactor.com/images/logo_clickable.gif +0 -0
  22. data/examples/www.berlinfactor.com/images/no_section_name.gif +0 -0
  23. data/examples/www.berlinfactor.com/images/section_books.gif +0 -0
  24. data/examples/www.berlinfactor.com/images/section_books_hover.gif +0 -0
  25. data/examples/www.berlinfactor.com/images/section_books_name.gif +0 -0
  26. data/examples/www.berlinfactor.com/images/section_bx.gif +0 -0
  27. data/examples/www.berlinfactor.com/images/section_bx_hover.gif +0 -0
  28. data/examples/www.berlinfactor.com/images/section_bx_name.gif +0 -0
  29. data/examples/www.berlinfactor.com/images/section_contact.gif +0 -0
  30. data/examples/www.berlinfactor.com/images/section_contact_hover.gif +0 -0
  31. data/examples/www.berlinfactor.com/images/section_contact_name.gif +0 -0
  32. data/examples/www.berlinfactor.com/images/section_links.gif +0 -0
  33. data/examples/www.berlinfactor.com/images/section_links_hover.gif +0 -0
  34. data/examples/www.berlinfactor.com/images/section_links_name.gif +0 -0
  35. data/examples/www.berlinfactor.com/images/section_tfdj.gif +0 -0
  36. data/examples/www.berlinfactor.com/images/section_tfdj_hover.gif +0 -0
  37. data/examples/www.berlinfactor.com/images/section_tfdj_name.gif +0 -0
  38. data/examples/www.berlinfactor.com/index.page +21 -0
  39. data/examples/www.berlinfactor.com/news.page +11 -0
  40. data/examples/www.berlinfactor.com/news.txt +210 -0
  41. data/src/bxms.rb +61 -0
  42. data/src/bxms/context.rb +96 -0
  43. data/src/bxms/functions.rb +39 -0
  44. data/src/bxms/processor.rb +53 -0
  45. data/src/bxms/root_state.rb +30 -0
  46. data/src/bxms/rules.rb +82 -0
  47. data/src/bxms/state.rb +105 -0
  48. data/src/bxms/tags.rb +108 -0
  49. data/src/bxms/variables.rb +9 -0
  50. data/src/page/part.rb +51 -0
  51. data/src/page/part_collector.rb +55 -0
  52. data/src/rules/base.rb +16 -0
  53. data/src/rules/copy.rb +17 -0
  54. data/src/rules/ignore.rb +14 -0
  55. data/src/rules/process.rb +23 -0
  56. data/src/rules/process_page.rb +69 -0
  57. data/src/util/chained_hash.rb +41 -0
  58. data/src/util/logger.rb +710 -0
  59. data/src/util/system_logger.rb +30 -0
  60. metadata +116 -0
data/bin/bxms ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby -w
2
+
3
+ begin
4
+ require 'bxms'
5
+ rescue LoadError
6
+ require 'rubygems'
7
+ require 'bxms'
8
+ end
data/bin/bxms.bat ADDED
@@ -0,0 +1,3 @@
1
+ @ECHO OFF
2
+
3
+ ruby -S bxms.rb %*
data/bin/bxms.rb ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby -w
2
+
3
+ begin
4
+ require 'bxms'
5
+ rescue LoadError
6
+ require 'rubygems'
7
+ require 'bxms'
8
+ end
data/bin/bxms.sh ADDED
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+
3
+ ruby -S bxms.rb $*
@@ -0,0 +1,317 @@
1
+
2
+ a:visited
3
+ {
4
+ color: #602000;
5
+ text-decoration: none;
6
+ background-color: transparent;
7
+ }
8
+
9
+ a:link
10
+ {
11
+ color: #602000;
12
+ text-decoration: none;
13
+ background-color: transparent;
14
+ }
15
+
16
+ a:active
17
+ {
18
+ color: #602000;
19
+ text-decoration: underline;
20
+ background-color: transparent;
21
+ }
22
+
23
+ a:hover
24
+ {
25
+ color: #602000;
26
+ text-decoration: underline;
27
+ background-color: transparent;
28
+ }
29
+
30
+ body
31
+ {
32
+ font-family: Trebuchet MS,Trebuchet,Arial,Helvetica,sans-serif;
33
+ font-weight: normal;
34
+ font-size: 10pt;
35
+ color: #705D2C;
36
+ background-color: #FFFFFF;
37
+ }
38
+
39
+ p
40
+ {
41
+ }
42
+
43
+ img
44
+ {
45
+ font-family: Trebuchet MS,Trebuchet,Arial,Helvetica,sans-serif;
46
+ font-size: 12pt;
47
+ border: 0px;
48
+ }
49
+
50
+
51
+
52
+ #body
53
+ {
54
+ width: 802px;
55
+ height: 602px;
56
+ margin: 10px auto;
57
+ padding: 0px;
58
+ }
59
+
60
+ #frame
61
+ {
62
+ width: 800px;
63
+ height: 600px;
64
+ margin: 0px;
65
+ padding: 0px;
66
+
67
+ background-image: url(images/background.png);
68
+
69
+ border-style: solid;
70
+ border-width: 1px;
71
+ border-color: #CBBCB3;
72
+ }
73
+
74
+ #header
75
+ {
76
+ height: 183px;
77
+ }
78
+
79
+ #logo
80
+ {
81
+ float: left;
82
+ width: 380px;
83
+ height: 183px;
84
+ }
85
+
86
+ #sections
87
+ {
88
+ float: right;
89
+ width: 418px;
90
+ height: 183px;
91
+ overflow: hidden;
92
+ }
93
+
94
+ #section_name
95
+ {
96
+ width: 418px;
97
+ height: 150px;
98
+ overflow: hidden;
99
+ }
100
+
101
+ #section_menu
102
+ {
103
+ float: right;
104
+ padding: 3px 3px 0px 0px;
105
+ }
106
+
107
+ #logo_above
108
+ {
109
+ width: 380px;
110
+ height: 8px;
111
+ }
112
+
113
+ #logo_clickable
114
+ {
115
+ width: 380px;
116
+ height: 38px;
117
+ }
118
+
119
+ #logo_below
120
+ {
121
+ width: 380px;
122
+ height: 137px;
123
+ }
124
+
125
+ #page_body
126
+ {
127
+ padding: 6px 3px 3px 3px;
128
+ height: 383px;
129
+ }
130
+
131
+ #column_left
132
+ {
133
+ float: left;
134
+ width: 373px;
135
+ height: 383px;
136
+ overflow: auto;
137
+ }
138
+
139
+ #column_right
140
+ {
141
+ float: right;
142
+ width: 415px;
143
+ height: 383px;
144
+ overflow: auto;
145
+ }
146
+
147
+ #section_paragraph
148
+ {
149
+ padding: 10px;
150
+ }
151
+
152
+ #footer
153
+ {
154
+ padding: 5px 5px 2px 5px;
155
+ height: 18px;
156
+ overflow: hidden;
157
+ }
158
+
159
+ #footer_left
160
+ {
161
+ float: left;
162
+ }
163
+
164
+ #footer_right
165
+ {
166
+ float: right;
167
+ }
168
+
169
+ #w3c_logos
170
+ {
171
+ float: right;
172
+ padding: 10px 5px;
173
+ }
174
+
175
+
176
+ .section_menu_entry
177
+ {
178
+ width: 39px;
179
+ height: 27px;
180
+
181
+ text-align: right;
182
+ }
183
+
184
+ .news_entry
185
+ {
186
+ color: #602000;
187
+ }
188
+
189
+ .news_entry_date
190
+ {
191
+ float: left;
192
+ font-weight: bold;
193
+ }
194
+
195
+ .news_entry_title
196
+ {
197
+ float: left;
198
+ font-weight: bold;
199
+ padding-left: 10px;
200
+ }
201
+
202
+ .news_entry_body
203
+ {
204
+ clear: both;
205
+ padding: 5px;
206
+ padding-bottom: 15px;
207
+ }
208
+
209
+ .news_ref
210
+ {
211
+ clear: both;
212
+ }
213
+
214
+ .news_ref_date
215
+ {
216
+ font-weight: bold;
217
+ }
218
+
219
+ .news_ref_title
220
+ {
221
+ font-weight: bold;
222
+ }
223
+
224
+ .book_entry
225
+ {
226
+ padding-top: 12px;
227
+ color: #602000;
228
+ }
229
+
230
+ .book_entry_title
231
+ {
232
+ font-weight: bold;
233
+ }
234
+
235
+ .book_entry_body
236
+ {
237
+ padding: 5px;
238
+ padding-bottom: 15px;
239
+ }
240
+
241
+ .book_ref
242
+ {
243
+ padding-top: 12px;
244
+ color: #602000;
245
+ }
246
+
247
+ .book_ref_title
248
+ {
249
+ font-weight: bold;
250
+ }
251
+
252
+ .book_ref_body
253
+ {
254
+ padding: 5px;
255
+ padding-bottom: 15px;
256
+ }
257
+
258
+ .link
259
+ {
260
+ }
261
+
262
+ .link_back
263
+ {
264
+ padding: 5px;
265
+ }
266
+
267
+ .external_link
268
+ {
269
+ }
270
+
271
+ .simple_link
272
+ {
273
+ }
274
+
275
+ .project_details
276
+ {
277
+ }
278
+
279
+ .project_screenshots
280
+ {
281
+ padding: 5px;
282
+ }
283
+
284
+ .project_downloads
285
+ {
286
+ padding: 5px;
287
+ }
288
+
289
+ .project_notes
290
+ {
291
+ padding: 5px;
292
+ }
293
+
294
+ .project_screenshot
295
+ {
296
+ padding: 5px;
297
+ }
298
+
299
+ .project_credits
300
+ {
301
+ padding: 5px;
302
+ }
303
+
304
+ .project_downloads
305
+ {
306
+ padding: 5px;
307
+ }
308
+
309
+ .symbian_project_link
310
+ {
311
+ float: left;
312
+ width: 150px;
313
+ }
314
+
315
+ .text
316
+ {
317
+ }
@@ -0,0 +1,39 @@
1
+ <%
2
+ sections = list_file_names "Section*"
3
+ sections.each do |section_folder|
4
+ section = section_folder.downcase.gsub '.', '_'
5
+
6
+ suffixes = [ '', '_name', '_hover' ]
7
+ suffixes.each do |suffix|
8
+ image_handle = section + suffix
9
+ %>
10
+ var <%=image_handle%> = new Image();
11
+ <%=image_handle%>.src = "images/<%=image_handle%>.gif";
12
+ <%
13
+ end
14
+ end
15
+ %>
16
+
17
+
18
+
19
+ function select_section( aImagesFolder, aSectionID, aSectionTitle )
20
+ {
21
+ image_prefix = aImagesFolder + '/section_' + aSectionID;
22
+ set_image( 'section_name', image_prefix + '_name.gif' );
23
+ set_image( aSectionID, image_prefix + '_hover.gif' );
24
+ window.status = '// ' + aSectionTitle;
25
+ return true;
26
+ }
27
+
28
+ function unselect_section( aImagesFolder, aSectionID, aBackgroundImageURL )
29
+ {
30
+ set_image( 'section_name', aBackgroundImageURL );
31
+ set_image( aSectionID, aImagesFolder + '/section_' + aSectionID );
32
+ window.status = '';
33
+ return true;
34
+ }
35
+
36
+ function set_image( aImageID, aImageURL )
37
+ {
38
+ window.document.images[ aImageID ].src = aImageURL;
39
+ }
@@ -0,0 +1,198 @@
1
+ FORMAT: AUTHOR, TITLE, BODY
2
+ ANCHOR: BOOKS
3
+
4
+ [ENTRY]
5
+ Andrew Hunt & Dave Thomas
6
+ The Pragmatic Programmer
7
+
8
+ A must read for every serious developer. That's it!
9
+
10
+ I love this book. It somehow managed to <i>streamline</i> my thinking..
11
+ Powerful metaphores. Important techniques.
12
+
13
+ This really is a must have!
14
+
15
+ Recommended read!
16
+
17
+ [ENTRY]
18
+ Michael C. Feathers
19
+ Working Effectively with Legacy Code
20
+
21
+ Absolutely a must read!
22
+
23
+ Like Kent Beck's Test Driven Development with code you're about to
24
+ write, the focus on testing is really important with legacy code, too.
25
+
26
+ But what is legacy code? Don't make the mistake of thinking this is
27
+ about Cobol code or something.. :) Even though it could be Cobol code, it
28
+ also covers the code you wrote last week - before you knew how to do it
29
+ the right way..
30
+
31
+ Have you read Kent Beck's Test Driven Development? Do you do test
32
+ driven development? If not, there's something out there which definitly is
33
+ worth exploring..
34
+
35
+ Michael Feather's book is really good at giving names to common
36
+ situations/problems. And showing you how to make legacy code 'testable'.
37
+ All this is important to have a safe foundation for cleaning up legacy
38
+ code, or adding features, or fixing bugs.. Good and interesting book!
39
+
40
+ Recommended read!
41
+
42
+ [ENTRY]
43
+ Kent Beck
44
+ Test Driven Development
45
+
46
+ Very(!) interesting read. Honestly, I am not really as disciplined as
47
+ one should be to be able to follow this approach. But I surely see the
48
+ benefits.
49
+
50
+ I understand - in comparison - the limited benefits of "stupid unit
51
+ testing" as most people I know (including me) are doing. That is, writing
52
+ the tests after you coded bullshit :)
53
+
54
+ I wish I could just throw away my current behaviour and go 100% TDD
55
+ (Test Driven Development). But somehow it is not that easy. I am not sure
56
+ why..
57
+
58
+ Anyway, this is important stuff! The Art of Unit Testing :-) So grab a
59
+ copy and read through it.
60
+
61
+ Recommended read!
62
+
63
+ [ENTRY]
64
+ Pete McBreen
65
+ Software.Craftsmanship
66
+
67
+ What a nice book! I wish I could be one of those craftsmen getting paid
68
+ five times as much as the rest of the world.
69
+
70
+ Seriously, this is a good book. Also sometimes stretching a topic a bit
71
+ too long or restating a point a bit too often, this book clearly states
72
+ what people should realize about software development: It's really like
73
+ that 1 to 10 factor. You simply cannot expect a guy having a
74
+ Fucked-Up-Bullshit Licensed Engineer certificate to be a good developer.
75
+ You need to check the background of the people. Ask about their projects.
76
+ Ask the customers! Get this feedback. This is much more important than
77
+ some kind of bullshit certificate or perfect grades in school ;-)
78
+
79
+ This book is for managers, I think. Because as a developer, when reading
80
+ this book, you just get more angry about the way things are.. :-(
81
+
82
+ [ENTRY]
83
+ Alistair Cockburn
84
+ Agile Software Development
85
+
86
+ A difficult book. Not easy to read. Well.. for me.. at least. I think I
87
+ am reading this book for three months now :-) Still not finished. Hmm..
88
+ somehow it is not as "easy" as most other books.
89
+
90
+ Is this bad? I am not sure. I guess it is the topic that makes it so
91
+ "uneasy" to read. Parts of it, like for example about "Theory Building"
92
+ are very interesting. Other parts like for example the discussion about
93
+ how people should be seated are.. well.. I guess they are required. But I
94
+ found them quite.. boring.. :-)
95
+
96
+ Anyway. Very interesting read here. Agile is the way to go. Check out
97
+ ${ExternalLink( "http://www.agilealliance.org", "The Agile Alliance" )}.
98
+
99
+ The Unified Process and stuff like that? Not my kind of thing..
100
+
101
+ [ENTRY]
102
+ Steve McConnell
103
+ Code Complete (2nd Edition)
104
+
105
+ Forget about the first edition of the book. Total crap! But this 2nd
106
+ edition. Well.. a lot like a developer matures on his way, Steve managed
107
+ to drop all the bullshit subjective advice and wrote a nice 'summarizing'
108
+ book on a lot of topics.
109
+
110
+ Good read this one!
111
+
112
+ Recommended read!
113
+
114
+ [ENTRY]
115
+ Steve McConnell
116
+ Rapid Development
117
+
118
+ Didn't like this book. Maybe because I have a different view on things.
119
+ A bit a least. And maybe, just maybe, because I don't like Micro$oft too
120
+ much.
121
+
122
+ It's a bit like this guy's first edition of Code Complete. Too
123
+ subjective. Not really sound.. well..
124
+
125
+ [ENTRY]
126
+ Diomidis Spinellis
127
+ Code Reading
128
+
129
+ More or less for beginners only. If you're a passionate developer, you
130
+ don't need this book. You already do what you do.. bascially.. :)
131
+
132
+ [ENTRY]
133
+ Mike Gunderloy
134
+ Coder To Developer
135
+
136
+ I bought this book after I saw it being mentioned on some web-site. Some
137
+ blog maybe? Joel maybe? Don't remember..
138
+
139
+ It's not bad. But it's not really good, either. Far from the importance of
140
+ The Pragmatic Progammer, or Working Effecively with Legacy Code, or Test
141
+ Driven Development. And somewhere between the quality of Code Complete
142
+ Edition 1 and 2.
143
+
144
+ But somehow I liked it. It gave me a different view on some topics. Which
145
+ I always consider a good thing..
146
+
147
+ [ENTRY]
148
+ Andrew Hunt & Dave Thomas
149
+ Pragmatic Version Control, Pragmatic Unit Testing
150
+
151
+ Good books - especially for beginners. Contained a few things I didn't
152
+ know about (some special CVS features). And all in all nice write-ups of
153
+ how to get started(!) with version control and unit testing.
154
+
155
+ [ENTRY]
156
+ Mike Clark
157
+ Pragmatic Project Automation
158
+
159
+ Personally, I think this is the best (read: most intersting) book of the
160
+ Pragmatic Starter Series.. How to get started with project automation.
161
+ Build servers, notification, setting up a project, .. Nice book!
162
+
163
+ [ENTRY]
164
+ Robert L. Glass
165
+ Facts and Fallacies of Sofware Engineering
166
+
167
+ I liked this book. Sure, you can always disagree on certain topics. But
168
+ what does that mean?
169
+
170
+ This book has some interesting stories and a lot of interesting 'facts'. I
171
+ enjoyed reading this one!
172
+
173
+ [ENTRY]
174
+ Luke Hohmann
175
+ Beyond Software Architecture
176
+
177
+ The one thing I remember about this book is 'spikes'. Architectural
178
+ 'spikes'. For exploring a certain aspect of a system's architecture.
179
+
180
+ Well, this topic had been covered in an Artima interview, too. Maybe
181
+ that's why I remember it.. :)
182
+
183
+ Anyway, I liked this book. Covered some interesting stuff. Far from the
184
+ quality of The Pragmatic Programmer or something like that. But then again
185
+ definitly with different subject/focus and therefore worth a read.
186
+
187
+ [ENTRY]
188
+ Scott Meyers
189
+ Effective C++ Second Edition
190
+ Must read for serious C++ developers.
191
+
192
+ My personal opinion on some advanced C++ features (and probably advanced
193
+ language features in general): Avoid them as often as possible! :)
194
+
195
+ [ENTRY]
196
+ Jon Bentley
197
+ Programming Pearls
198
+ Interesting read. (That was helpful, right? :)