stoor 0.1.8 → 0.1.9
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.
- checksums.yaml +15 -0
- data/README.md +41 -0
- data/config.ru +13 -0
- data/lib/stoor.rb +2 -0
- data/lib/stoor/github_auth.rb +4 -6
- data/lib/stoor/read_only.rb +19 -0
- data/lib/stoor/version.rb +1 -1
- data/lib/stoor/views/sorry.mustache +5 -0
- data/lib/stoor/views/sorry.rb +9 -0
- metadata +8 -23
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            !binary "U0hBMQ==":
         | 
| 3 | 
            +
              metadata.gz: !binary |-
         | 
| 4 | 
            +
                ZmU2OTA0ZjI4ZjY4MWZlZWI1MTQ0OWE2YTI0MGIyYWQxNDk1Mjk4Ng==
         | 
| 5 | 
            +
              data.tar.gz: !binary |-
         | 
| 6 | 
            +
                YzVhZWM1MGU5Y2NhMGZkNGJiYmM5OGVhMGVhYzZkODYxYWY0ODQxNA==
         | 
| 7 | 
            +
            SHA512:
         | 
| 8 | 
            +
              metadata.gz: !binary |-
         | 
| 9 | 
            +
                ZDJmMDE1YjcyY2E4Yzc4MTEyZmE5MTUwMTg5ZmNjNzVhOWEwZmQyZDcxOGJk
         | 
| 10 | 
            +
                M2E5NzVjZWMwM2VhOTRiZTZmNDkwNTIxOTQ2Mzc4MGIyMTNiMzJjODM1MDRi
         | 
| 11 | 
            +
                MmQ3YTE4MGRmZTNkZmVkZjk2MDg4NGZiY2FhNTdlOGU3NGM5ZTg=
         | 
| 12 | 
            +
              data.tar.gz: !binary |-
         | 
| 13 | 
            +
                MTIwNzc0NGJhNzRkYWI5MjMzNDEzYmQ2MWY4N2NkOTgxNjgzMTNlNThlNDVl
         | 
| 14 | 
            +
                NzI3NTBmMWYxMWYwYjJiNzljNmNiYmQ1Yzc1N2U0ZjZiNjkzMTNlYzIwYTgx
         | 
| 15 | 
            +
                MDYwODRlYTU1ZWFlZWFkNTlkOTNkMDRhMWMxZjM5NTIzMjIwNTM=
         | 
    
        data/README.md
    CHANGED
    
    | @@ -106,6 +106,11 @@ If the user is not a member of the specified team, they aren't allowed access. | |
| 106 106 |  | 
| 107 107 | 
             
                STOOR_WIDE=y              # Main wiki content will take 90% of browser width; widens tables as well
         | 
| 108 108 |  | 
| 109 | 
            +
            ### Read-only
         | 
| 110 | 
            +
             | 
| 111 | 
            +
                STOOR_READONLY=y          # Create, New, Delete buttons and links hidden;
         | 
| 112 | 
            +
                                          # /create/*, /delete/*, POST, and PUT requests redirected to "sorry" page
         | 
| 113 | 
            +
             | 
| 109 114 | 
             
            ## How I run it
         | 
| 110 115 |  | 
| 111 116 | 
             
            I like having my own personal wiki. Since Apache is ubiquitous on Macs, I run the Wiki with configuration in `/etc/apache2/httpd.conf`,
         | 
| @@ -145,3 +150,39 @@ and finally: | |
| 145 150 |  | 
| 146 151 | 
             
            Now browse your wiki at <http://wiki.local>
         | 
| 147 152 |  | 
| 153 | 
            +
            ## Links in the Wiki
         | 
| 154 | 
            +
             | 
| 155 | 
            +
            A bit of advice: Use the MediaWiki format for links internal to your wiki. This style is recommended by GitHub (see <https://help.github.com/articles/how-do-i-add-links-to-my-wiki>).
         | 
| 156 | 
            +
             | 
| 157 | 
            +
            For example, if you have a secondary page called `foo.md`, and want a link that displays "This is my foo page", write
         | 
| 158 | 
            +
            your page link like this
         | 
| 159 | 
            +
             | 
| 160 | 
            +
            ```
         | 
| 161 | 
            +
            [[This is my foo page|foo]]
         | 
| 162 | 
            +
            ```
         | 
| 163 | 
            +
             | 
| 164 | 
            +
            Notice that the Gollum docs say "The page file may exist anywhere in the directory structure of the repository. Gollum does a breadth first search and uses the first match that it finds" -- So
         | 
| 165 | 
            +
            keep your page names unique.
         | 
| 166 | 
            +
             | 
| 167 | 
            +
            If you want to use relative links of the form `[Display text](wiki/other)`, don't. The wikis on GitHub do some wrangling with the base path
         | 
| 168 | 
            +
            that are not compatible with local wikis managed by Gollum. If you peruse the Gollum documentation at <https://github.com/gollum/gollum/wiki#page-links>, you
         | 
| 169 | 
            +
            will see that they don't describe the Markdown format at all.
         | 
| 170 | 
            +
             | 
| 171 | 
            +
            (Within a Rack Builder, even if you set the Gollum `base_path` and wrap Gollum in a `map` with the same `base_path` you will find that
         | 
| 172 | 
            +
            the displayed paths prefix URLs with an extra `base_path`.)
         | 
| 173 | 
            +
             | 
| 174 | 
            +
            ## Things left out
         | 
| 175 | 
            +
             | 
| 176 | 
            +
            * No support for changing the "base path."
         | 
| 177 | 
            +
            * No support for changing Gollum options - all the default options are taken
         | 
| 178 | 
            +
             | 
| 179 | 
            +
            ## Testing
         | 
| 180 | 
            +
             | 
| 181 | 
            +
            To run the specs, create an application per "GitHub Authorization" above, and take note of the client id and client secret.
         | 
| 182 | 
            +
             | 
| 183 | 
            +
            Then set up Stoor so that you are running with GitHub authorization. Authorize.
         | 
| 184 | 
            +
             | 
| 185 | 
            +
            Now run the specs like so:
         | 
| 186 | 
            +
             | 
| 187 | 
            +
                STOOR_GITHUB_CLIENT_ID=780ec06a331b4f61a345 STOOR_GITHUB_CLIENT_SECRET=f1e5439aff166c34f707747120acbf66ef233fc2 bundle exec rspec
         | 
| 188 | 
            +
             | 
    
        data/config.ru
    CHANGED
    
    | @@ -87,6 +87,19 @@ if repo_exists | |
| 87 87 | 
             
                  regexp: /<body>/,
         | 
| 88 88 | 
             
                  after: '<style type="text/css">#wiki-wrapper { width: 90%; } .markdown-body table { width: 100%; }</style>'
         | 
| 89 89 | 
             
              end
         | 
| 90 | 
            +
              if ENV['STOOR_READONLY']
         | 
| 91 | 
            +
                use Stoor::ReadOnly, '/sorry'
         | 
| 92 | 
            +
                use Stoor::TransformContent,
         | 
| 93 | 
            +
                  regexp: /<body>/,
         | 
| 94 | 
            +
                  after: <<-STYLE
         | 
| 95 | 
            +
                    <style type="text/css">
         | 
| 96 | 
            +
                      #minibutton-new-page    { display: none; }
         | 
| 97 | 
            +
                      #minibutton-rename-page { display: none; }
         | 
| 98 | 
            +
                      a.action-edit-page      { display: none; }
         | 
| 99 | 
            +
                      #delete-link            { display: none; }
         | 
| 100 | 
            +
                    </style>
         | 
| 101 | 
            +
                  STYLE
         | 
| 102 | 
            +
              end
         | 
| 90 103 |  | 
| 91 104 | 
             
              Precious::App.set(:gollum_path, gollum_path)
         | 
| 92 105 | 
             
              Precious::App.set(:default_markup, :markdown)
         | 
    
        data/lib/stoor.rb
    CHANGED
    
    | @@ -1,9 +1,11 @@ | |
| 1 1 | 
             
            require 'stoor/logger'
         | 
| 2 2 | 
             
            require 'stoor/github_auth'
         | 
| 3 3 | 
             
            require 'stoor/git_config'
         | 
| 4 | 
            +
            require 'stoor/read_only'
         | 
| 4 5 | 
             
            require 'stoor/transform_content'
         | 
| 5 6 | 
             
            require 'stoor/views/layout'
         | 
| 6 7 | 
             
            require 'stoor/views/logout'
         | 
| 8 | 
            +
            require 'stoor/views/sorry'
         | 
| 7 9 |  | 
| 8 10 | 
             
            # In at least gollum 2.4.13 and later:
         | 
| 9 11 | 
             
            #   https://github.com/gollum/gollum/blob/master/lib/gollum/uri_encode_component.rb#L36
         | 
    
        data/lib/stoor/github_auth.rb
    CHANGED
    
    | @@ -4,17 +4,15 @@ module Stoor | |
| 4 4 | 
             
                register Sinatra::Auth::Github
         | 
| 5 5 | 
             
                register Mustache::Sinatra
         | 
| 6 6 |  | 
| 7 | 
            -
            #    def initialize(*)
         | 
| 8 | 
            -
            #      @github_options = {}
         | 
| 9 | 
            -
            #      @stoor_options = {}
         | 
| 10 | 
            -
            #      super
         | 
| 11 | 
            -
            #    end
         | 
| 12 | 
            -
             | 
| 13 7 | 
             
                get '/logout' do
         | 
| 14 8 | 
             
                  logout!
         | 
| 15 9 | 
             
                  mustache :logout
         | 
| 16 10 | 
             
                end
         | 
| 17 11 |  | 
| 12 | 
            +
                get '/sorry' do
         | 
| 13 | 
            +
                  mustache :sorry
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
             | 
| 18 16 | 
             
                get '/*' do
         | 
| 19 17 | 
             
                  session['stoor.github.authorized'] = nil
         | 
| 20 18 |  | 
| @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            module Stoor
         | 
| 2 | 
            +
              class ReadOnly
         | 
| 3 | 
            +
                include Rack::Utils
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                def initialize(app, path)
         | 
| 6 | 
            +
                  @app, @path = app, path
         | 
| 7 | 
            +
                end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                def call(env)
         | 
| 10 | 
            +
                  request = Rack::Request.new(env)
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  if request.path_info =~ /\A\/(create|delete)/ || request.post? || request.put?
         | 
| 13 | 
            +
                    return [302, { 'Location' => @path }, []]
         | 
| 14 | 
            +
                  end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  @app.call(env)
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
              end
         | 
| 19 | 
            +
            end
         | 
    
        data/lib/stoor/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,20 +1,18 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: stoor
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 5 | 
            -
              prerelease: 
         | 
| 4 | 
            +
              version: 0.1.9
         | 
| 6 5 | 
             
            platform: ruby
         | 
| 7 6 | 
             
            authors:
         | 
| 8 7 | 
             
            - John G. Norman
         | 
| 9 8 | 
             
            autorequire: 
         | 
| 10 9 | 
             
            bindir: bin
         | 
| 11 10 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2013- | 
| 11 | 
            +
            date: 2013-11-01 00:00:00.000000000 Z
         | 
| 13 12 | 
             
            dependencies:
         | 
| 14 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 14 | 
             
              name: thin
         | 
| 16 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 | 
            -
                none: false
         | 
| 18 16 | 
             
                requirements:
         | 
| 19 17 | 
             
                - - ~>
         | 
| 20 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -22,7 +20,6 @@ dependencies: | |
| 22 20 | 
             
              type: :runtime
         | 
| 23 21 | 
             
              prerelease: false
         | 
| 24 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 25 | 
            -
                none: false
         | 
| 26 23 | 
             
                requirements:
         | 
| 27 24 | 
             
                - - ~>
         | 
| 28 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -30,7 +27,6 @@ dependencies: | |
| 30 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 31 28 | 
             
              name: gollum
         | 
| 32 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 33 | 
            -
                none: false
         | 
| 34 30 | 
             
                requirements:
         | 
| 35 31 | 
             
                - - ~>
         | 
| 36 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -38,7 +34,6 @@ dependencies: | |
| 38 34 | 
             
              type: :runtime
         | 
| 39 35 | 
             
              prerelease: false
         | 
| 40 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 41 | 
            -
                none: false
         | 
| 42 37 | 
             
                requirements:
         | 
| 43 38 | 
             
                - - ~>
         | 
| 44 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -46,7 +41,6 @@ dependencies: | |
| 46 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 47 42 | 
             
              name: sinatra_auth_github
         | 
| 48 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 49 | 
            -
                none: false
         | 
| 50 44 | 
             
                requirements:
         | 
| 51 45 | 
             
                - - ~>
         | 
| 52 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -54,7 +48,6 @@ dependencies: | |
| 54 48 | 
             
              type: :runtime
         | 
| 55 49 | 
             
              prerelease: false
         | 
| 56 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 57 | 
            -
                none: false
         | 
| 58 51 | 
             
                requirements:
         | 
| 59 52 | 
             
                - - ~>
         | 
| 60 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -62,7 +55,6 @@ dependencies: | |
| 62 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 63 56 | 
             
              name: json
         | 
| 64 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 65 | 
            -
                none: false
         | 
| 66 58 | 
             
                requirements:
         | 
| 67 59 | 
             
                - - ~>
         | 
| 68 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -70,7 +62,6 @@ dependencies: | |
| 70 62 | 
             
              type: :runtime
         | 
| 71 63 | 
             
              prerelease: false
         | 
| 72 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 73 | 
            -
                none: false
         | 
| 74 65 | 
             
                requirements:
         | 
| 75 66 | 
             
                - - ~>
         | 
| 76 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -78,7 +69,6 @@ dependencies: | |
| 78 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 79 70 | 
             
              name: grit
         | 
| 80 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 81 | 
            -
                none: false
         | 
| 82 72 | 
             
                requirements:
         | 
| 83 73 | 
             
                - - ~>
         | 
| 84 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -86,7 +76,6 @@ dependencies: | |
| 86 76 | 
             
              type: :runtime
         | 
| 87 77 | 
             
              prerelease: false
         | 
| 88 78 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 89 | 
            -
                none: false
         | 
| 90 79 | 
             
                requirements:
         | 
| 91 80 | 
             
                - - ~>
         | 
| 92 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -94,7 +83,6 @@ dependencies: | |
| 94 83 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 95 84 | 
             
              name: warden-github
         | 
| 96 85 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 97 | 
            -
                none: false
         | 
| 98 86 | 
             
                requirements:
         | 
| 99 87 | 
             
                - - ~>
         | 
| 100 88 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -102,7 +90,6 @@ dependencies: | |
| 102 90 | 
             
              type: :development
         | 
| 103 91 | 
             
              prerelease: false
         | 
| 104 92 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 105 | 
            -
                none: false
         | 
| 106 93 | 
             
                requirements:
         | 
| 107 94 | 
             
                - - ~>
         | 
| 108 95 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -110,7 +97,6 @@ dependencies: | |
| 110 97 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 111 98 | 
             
              name: rack-test
         | 
| 112 99 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 113 | 
            -
                none: false
         | 
| 114 100 | 
             
                requirements:
         | 
| 115 101 | 
             
                - - ~>
         | 
| 116 102 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -118,7 +104,6 @@ dependencies: | |
| 118 104 | 
             
              type: :development
         | 
| 119 105 | 
             
              prerelease: false
         | 
| 120 106 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 | 
            -
                none: false
         | 
| 122 107 | 
             
                requirements:
         | 
| 123 108 | 
             
                - - ~>
         | 
| 124 109 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -126,7 +111,6 @@ dependencies: | |
| 126 111 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 127 112 | 
             
              name: rspec
         | 
| 128 113 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 129 | 
            -
                none: false
         | 
| 130 114 | 
             
                requirements:
         | 
| 131 115 | 
             
                - - ~>
         | 
| 132 116 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -134,7 +118,6 @@ dependencies: | |
| 134 118 | 
             
              type: :development
         | 
| 135 119 | 
             
              prerelease: false
         | 
| 136 120 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 137 | 
            -
                none: false
         | 
| 138 121 | 
             
                requirements:
         | 
| 139 122 | 
             
                - - ~>
         | 
| 140 123 | 
             
                  - !ruby/object:Gem::Version
         | 
| @@ -157,11 +140,14 @@ files: | |
| 157 140 | 
             
            - lib/stoor/git_config.rb
         | 
| 158 141 | 
             
            - lib/stoor/github_auth.rb
         | 
| 159 142 | 
             
            - lib/stoor/logger.rb
         | 
| 143 | 
            +
            - lib/stoor/read_only.rb
         | 
| 160 144 | 
             
            - lib/stoor/transform_content.rb
         | 
| 161 145 | 
             
            - lib/stoor/version.rb
         | 
| 162 146 | 
             
            - lib/stoor/views/layout.rb
         | 
| 163 147 | 
             
            - lib/stoor/views/logout.mustache
         | 
| 164 148 | 
             
            - lib/stoor/views/logout.rb
         | 
| 149 | 
            +
            - lib/stoor/views/sorry.mustache
         | 
| 150 | 
            +
            - lib/stoor/views/sorry.rb
         | 
| 165 151 | 
             
            - log/.gitignore
         | 
| 166 152 | 
             
            - public/.gitignore
         | 
| 167 153 | 
             
            - spec/lib/stoor/git_config_spec.rb
         | 
| @@ -173,28 +159,27 @@ files: | |
| 173 159 | 
             
            homepage: https://github.com/jgn/stoor
         | 
| 174 160 | 
             
            licenses:
         | 
| 175 161 | 
             
            - MIT
         | 
| 162 | 
            +
            metadata: {}
         | 
| 176 163 | 
             
            post_install_message: 
         | 
| 177 164 | 
             
            rdoc_options:
         | 
| 178 165 | 
             
            - --charset=UTF-8
         | 
| 179 166 | 
             
            require_paths:
         | 
| 180 167 | 
             
            - lib
         | 
| 181 168 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 182 | 
            -
              none: false
         | 
| 183 169 | 
             
              requirements:
         | 
| 184 170 | 
             
              - - ! '>='
         | 
| 185 171 | 
             
                - !ruby/object:Gem::Version
         | 
| 186 172 | 
             
                  version: '0'
         | 
| 187 173 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 188 | 
            -
              none: false
         | 
| 189 174 | 
             
              requirements:
         | 
| 190 175 | 
             
              - - ! '>='
         | 
| 191 176 | 
             
                - !ruby/object:Gem::Version
         | 
| 192 177 | 
             
                  version: '0'
         | 
| 193 178 | 
             
            requirements: []
         | 
| 194 179 | 
             
            rubyforge_project: 
         | 
| 195 | 
            -
            rubygems_version: 1. | 
| 180 | 
            +
            rubygems_version: 2.1.10
         | 
| 196 181 | 
             
            signing_key: 
         | 
| 197 | 
            -
            specification_version:  | 
| 182 | 
            +
            specification_version: 4
         | 
| 198 183 | 
             
            summary: Front-end for Gollum
         | 
| 199 184 | 
             
            test_files:
         | 
| 200 185 | 
             
            - spec/lib/stoor/git_config_spec.rb
         |