``` > 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 | 87 | end |
| 88 | 88 | |
| 89 | 89 | def store_page(store, id) |
| 90 | + index = EntryIndex.new | |
| 91 | + pages = PageDb.new | |
| 92 | + | |
| 90 | 93 | store.open(path) do |
| 91 | 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 | 99 | store.write page[:store_path], page[:output] |
| 93 | 100 | true |
| 94 | 101 | else |
| @@ -137,11 +144,11 @@ module Docs · 42 unmodified lines | ||
| 137 | 144 | page[:entries].present? |
| 138 | 145 | end |
| 139 | 146 | |
| 140 | − def store_index(store, filename, index) | |
| 141 | − old_json = store.read(filename) || '{}' | |
| 147 | + def store_index(store, filename, index, read_write=true) | |
| 148 | + old_json = read_write && store.read(filename) || '{}' | |
| 142 | 149 | new_json = index.to_json |
| 143 | 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 | 152 | end |
| 146 | 153 | |
| 147 | 154 | def store_meta(store) |