``` > thor docs:page vue /guide/introduction.html --debug Entries: (1 KB, +1 KB) Updated: 0 Created: 1 + 1. Introduction (Getting Started) Deleted: 0 Types: Updated: 0 Created: 1 + Guide Deleted: 0 Files: (0.1 MB, +0.1 MB) Updated: 0 Created: 1 + guide/introduction Deleted: 0 Done ```
Unified · Split
| @@ -87,8 +87,15 @@ module Docs · 86 unmodified lines | |||
| 87 | end | 87 | end |
| 88 | 88 | ||
| 89 | def store_page(store, id) | 89 | def store_page(store, id) |
| 90 | index = EntryIndex.new | ||
| 91 | pages = PageDb.new | ||
| 92 | |||
| 90 | store.open(path) do | 93 | store.open(path) do |
| 91 | if page = new.build_page(id) and store_page?(page) | 94 | if page = new.build_page(id) and store_page?(page) |
| 95 | index.add page[:entries] | ||
| 96 | pages.add page[:path], page[:output] | ||
| 97 | store_index(store, INDEX_FILENAME, index, false) | ||
| 98 | store_index(store, DB_FILENAME, pages, false) | ||
| 92 | store.write page[:store_path], page[:output] | 99 | store.write page[:store_path], page[:output] |
| 93 | true | 100 | true |
| 94 | else | 101 | else |
| @@ -137,11 +144,11 @@ module Docs · 42 unmodified lines | |||
| 137 | page[:entries].present? | 144 | page[:entries].present? |
| 138 | end | 145 | end |
| 139 | 146 | ||
| 140 | def store_index(store, filename, index) | 147 | def store_index(store, filename, index, read_write=true) |
| 141 | old_json = store.read(filename) || '{}' | 148 | old_json = read_write && store.read(filename) || '{}' |
| 142 | new_json = index.to_json | 149 | new_json = index.to_json |
| 143 | instrument "#{filename.remove('.json')}.doc", before: old_json, after: new_json | 150 | instrument "#{filename.remove('.json')}.doc", before: old_json, after: new_json |
| 144 | store.write(filename, new_json) | 151 | read_write && store.write(filename, new_json) |
| 145 | end | 152 | end |
| 146 | 153 | ||
| 147 | def store_meta(store) | 154 | def store_meta(store) |