/[couchdb]/deploy/reblog.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /deploy/reblog.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 10 by dpavlin, Tue Aug 5 17:04:54 2008 UTC revision 11 by dpavlin, Fri Aug 8 19:20:13 2008 UTC
# Line 5  use strict; Line 5  use strict;
5    
6  use CouchDB::Deploy;  use CouchDB::Deploy;
7    
8    use strip;
9    
10  my $reduce_count = qq|  my $reduce_count = qq|
11  function (Key, Values) {  function (Key, Values) {
# Line 16  function (Key, Values) { Line 17  function (Key, Values) {
17  |;  |;
18    
19  db 'reblog/', containing {  db 'reblog/', containing {
20          doc {  #       doc {
21                  _id => '_sync',  #               _id => '_sync',
22                  key => '_sync',  #               key => '_sync',
23                  last_row_id => 0,  #               last_row_id => 0,
24          };  #       };
25          design {          design {
26                  _id              => '_design/count',                  _id              => '_design/count',
27                  language        => 'javascript',                  language        => 'javascript',
28                  views   => {                  views   => {
29                          'items' => {                          'feed_items' => {
30                                  'map' => qq|                                  'map' => strip(qq|
31                                          function(doc) {                                          function(doc) {
32                                                  emit(doc.feed_title, 1);                                                  emit(doc.feed_title, 1);
33                                          }                                          }
34                                  |,                                  |),
35                                  'reduce' => $reduce_count,                                  'reduce' => strip($reduce_count),
36                          },                          },
37                          'tags' => {                          'tags' => {
38                                  'map' => qq|                                  'map' => strip(qq|
39                                          function(doc) {                                          function(doc) {
40                                                  var tags = doc.category.split(/[\\s\/]/);                                                  var tags = doc.category.split(/[\\s\/]/);
41                                                  for(var i in tags) {                                                  for(var i in tags) {
42                                                          emit(tags[i], 1);                                                          emit(tags[i], 1);
43                                                  }                                                  }
44                                          }                                          }
45                                  |,                                  |),
46                                  'reduce' => $reduce_count,                                  'reduce' => strip($reduce_count),
47                            }
48                    },
49                    _id              => '_design/items',
50                    language        => 'javascript',
51                    views   => {
52                            'by_feed' => {
53                                    'map' => strip(qq|
54                                            function(doc) {
55                                                    emit(
56                                                            [ doc.feed_title, doc.feed_link ],
57                                                            [ doc.title, doc.link ]
58                                                    );
59                                            }
60                                    |),
61                                    'reduce' => strip(qq|
62                                            function (k, v) {
63                                                    return v;
64                                            }
65                                    |),
66                            },
67                            'by_date' => {
68                                    'map' => strip(qq|
69    function(doc) {
70            emit(
71                    [ doc.insert_timestamp, doc.feed_title, doc.feed_link ],
72                    [ doc.title, doc.link ]
73            );
74    }
75                                    |),
76                          }                          }
77                  },                  },
78          };          };

Legend:
Removed from v.10  
changed lines
  Added in v.11

  ViewVC Help
Powered by ViewVC 1.1.26