README.md in massive_sitemap-2.0.0.rc7 vs README.md in massive_sitemap-2.0.0.rc8
- old
+ new
@@ -1,32 +1,40 @@
# MassiveSitemap [![](http://travis-ci.org/rngtng/massive_sitemap.png)](http://travis-ci.org/rngtng/massive_sitemap)
Build painfree sitemaps for websites with millions of pages
MassiveSitemap is a successor project of [BigSitemap](https://github.com/alexrabarts/big_sitemap), a [Sitemap](http://sitemaps.org) generator for websites with millions of pages.
-It implements various generation stategies, e.g. to split large Sitemaps into multiple files, gzip files to minimize bandwidth usage, or incremental updates. It offers API is very similar to _BigSitemap_ and therefor can be set up with just a few lines of code and is compatible with just about any framework.
+It implements various generation stategies, e.g. to split large Sitemaps into multiple files, gzip files to minimize bandwidth usage, or incremental updates. Its API is very similar to _BigSitemap_, can be set up with just a few lines of code and is compatible with just about any framework.
+
## Usage
+A simple usecase which fits most of the standard scenarios:
+
+
```ruby
require 'massive_sitemap'
index_url = MassiveSitemap.generate(:url => 'test.de/') do
add "dummy"
end
MassiveSitemap.ping(index_url)
```
-* clear structure
-* allows extension (S3)
+## Structure
-MassiveSitemap - build huge sitemaps painfree. Differential updates keeps generation time short and reduces load on DB. It's heavealy inspired by BigSitemaps and offers compatiable API
+MassiveSitemap is structured in two major parts: `Builder` and `Writer`. Both offer an abstract interface which is tailored to the specific needs.
-## Dependencies
+### Builder
+`Builder` keeps all the sitemap structure related logic to build the XML data. `Builder::Index` does the similar for the index structure. `Builder::Rotation` is an extension to make sure no more than 50k urls are written per files, according to sitemap specs.
-Obviously depends on a S3 library which [S3 gem](https://github.com/qoobaa/s3)
+### Writer
+The `Writer` takes care of the storage. At top level, that's just a string (`Writer::String`), however `Writer::File` stores to files, `Writer::GzipFile` gzips it as well. `Writer` keeps the state of the files and implements various strategies how to update the files.
+
+
+Further extension and customization can easily be done, e.g. a `Writer::S3` [extenstion](https://github.com/rngtng/massive_sitemap-writer-s3) stores the sitemap files to Amazon S3 .
## Contributing
We'll check out your contribution if you: