diff --git a/.gitignore b/.gitignore
index b079e77..8b7cc89 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,5 @@ tarpaulin-report.html
actix-example/target
actix-example/prod
prod56/
+src/cache_buster_data.json
+actix-example/src/cache_buster_data.json
diff --git a/README.md b/README.md
index 6f07184..b520fd8 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,8 @@
Cache Buster
- cache-buster - A library that aids in staticfile cache busting with SHA-258 hashes
+ cache-buster - A library that aids in static file cache
+ busting with SHA-256 hashes
[![Documentation](https://img.shields.io/badge/docs-master-blue)](https://realaravinth.github.io/cache-buster/cache_buster/index.html)
@@ -12,6 +13,22 @@
+## What is cache busting?
+
+To optimise network load time, browsers cache static files. Caching
+greatly improves performance but how do you inform browsers to
+invalidate cache when your files have changed?
+
+Cache busting is a simple but effective solution for this issue. There
+are several ways to achieve this but the way this library does this is
+by changing file names to include the hash of the files' contents.
+
+So if you have `bundle.js`, it will become
+`bundle..js`. This lets you set a super long cache age
+as, because of the file names changing, the path to the filename, too,
+will change. So as far as the browser is concerned, you are trying to load
+a file that it doesn't have. Pretty neat, isn't it?
+
## Features
- [x] `SHA-256` based name generation during compile-time
diff --git a/actix-example/src/cache_buster_data.json b/actix-example/src/cache_buster_data.json
deleted file mode 100644
index 01c7df2..0000000
--- a/actix-example/src/cache_buster_data.json
+++ /dev/null
@@ -1 +0,0 @@
-{"map":{"../dist/a/b/c/d/s/d/svg/github.svg":"./prod/a/b/c/d/s/d/svg/github.FA9EB1C66F548EC2C7598B94BA6A17275E1EA383D42B6C83351A2388C773E621.svg","../dist/a/b/c/d/s/d/svg/settings.svg":"./prod/a/b/c/d/s/d/svg/settings.910C6241743C9C694141971BE8E1C4016A1A5BF203E4E9D676D4CE93BD518F4C.svg","../dist/svg/file.svg":"./prod/svg/file.F9E376D9F78FFD918D8D592A8B2D97EAAC14E638B5A7AE3C58DDB075375D8E0E.svg","../dist/a/b/c/d/s/d/svg/4.svg":"./prod/a/b/c/d/s/d/svg/4.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/a/b/c/d/s/d/svg/tag.svg":"./prod/a/b/c/d/s/d/svg/tag.E0BC111B8E81BBFC62B6A9E7E4AC162B7085A6543D995B7A0030CB7632901BD4.svg","../dist/file.svg":"./prod/file.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/file-text.svg":"./prod/file-text.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/a/b/c/d/s/d/svg/2.svg":"./prod/a/b/c/d/s/d/svg/2.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/a/b/c/d/s/d/svg/menu.svg":"./prod/a/b/c/d/s/d/svg/menu.A2C4DD00686F5D23F78885AC4CE3E075FCA78DFBDEA70407667FBBD9801B7A75.svg","../dist/svg/filter.svg":"./prod/svg/filter.6D5FBD96BA2E2020663AAC4994A991295917D73F3592C07EE103647B655A2275.svg","../dist/filter.svg":"./prod/filter.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/tag.svg":"./prod/tag.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/svg/toggle-left.svg":"./prod/svg/toggle-left.E421950C5922E84015F0A86F272AE5637A2ED96E267D2C962543F5994E5D1172.svg","../dist/help-circle.svg":"./prod/help-circle.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/a/b/c/d/s/d/svg/8.svg":"./prod/a/b/c/d/s/d/svg/8.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/a/b/c/d/s/d/svg/file.svg":"./prod/a/b/c/d/s/d/svg/file.F9E376D9F78FFD918D8D592A8B2D97EAAC14E638B5A7AE3C58DDB075375D8E0E.svg","../dist/a/b/c/d/s/d/svg/globe.svg":"./prod/a/b/c/d/s/d/svg/globe.44C2A069EBD637663E938ECE7B8E4EC2A8BDE049A8A044EC68D9CB69AE8C592E.svg","../dist/svg/credit-card.svg":"./prod/svg/credit-card.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/svg/help-circle.svg":"./prod/svg/help-circle.BE230ABD2E05EB05EF6C5B7D04D35A3A43637EF1E046DEF3D244425609B99F81.svg","../dist/icon.png":"./prod/icon.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.png","../dist/a/b/c/d/s/d/svg/moon.svg":"./prod/a/b/c/d/s/d/svg/moon.1E151D68949CA3B2DC7DE34BC25B7586E4175AC3BA7F56DDBB34227334EF7155.svg","../dist/svg/globe.svg":"./prod/svg/globe.44C2A069EBD637663E938ECE7B8E4EC2A8BDE049A8A044EC68D9CB69AE8C592E.svg","../dist/a/b/c/d/s/d/svg/toggle-right.svg":"./prod/a/b/c/d/s/d/svg/toggle-right.15BF49887941593CE3FE09FA73E3CAF1F4B1E8ABCB42A23D85B4FCBC24FDF5AA.svg","../dist/a/b/c/d/s/d/svg/10.svg":"./prod/a/b/c/d/s/d/svg/10.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/github.svg":"./prod/github.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/bell.svg":"./prod/bell.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/a/b/c/d/s/d/svg/filter.svg":"./prod/a/b/c/d/s/d/svg/filter.6D5FBD96BA2E2020663AAC4994A991295917D73F3592C07EE103647B655A2275.svg","../dist/svg/toggle-right.svg":"./prod/svg/toggle-right.15BF49887941593CE3FE09FA73E3CAF1F4B1E8ABCB42A23D85B4FCBC24FDF5AA.svg","../dist/log-out.svg":"./prod/log-out.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/shield.svg":"./prod/shield.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/a/b/c/d/s/d/svg/eye.svg":"./prod/a/b/c/d/s/d/svg/eye.9DE4D24D3C9B055D02B94A8AD65E8C0C644852381FDD131A64448B6DA7859167.svg","../dist/a/b/c/d/s/d/svg/9.svg":"./prod/a/b/c/d/s/d/svg/9.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/toggle-right.svg":"./prod/toggle-right.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/a/b/c/d/s/d/svg/shield.svg":"./prod/a/b/c/d/s/d/svg/shield.13AFE15DCB4882B4A940CFDC3E2088A733CD4E6F97F25B211D87C7C9D6DBA2B6.svg","../dist/a/b/c/d/s/d/svg/6.svg":"./prod/a/b/c/d/s/d/svg/6.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/a/b/c/d/s/d/svg/7.svg":"./prod/a/b/c/d/s/d/svg/7.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/svg/tag.svg":"./prod/svg/tag.E0BC111B8E81BBFC62B6A9E7E4AC162B7085A6543D995B7A0030CB7632901BD4.svg","../dist/svg/log-out.svg":"./prod/svg/log-out.92AB4384FD41D9AFE4735C480361BB64789CD767B7DD0FF3C6F56287B3D4498E.svg","../dist/svg/menu.svg":"./prod/svg/menu.A2C4DD00686F5D23F78885AC4CE3E075FCA78DFBDEA70407667FBBD9801B7A75.svg","../dist/menu.svg":"./prod/menu.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/eye-off.svg":"./prod/eye-off.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/a/b/c/d/s/d/svg/home.svg":"./prod/a/b/c/d/s/d/svg/home.28C26C2D3E4013D24D755A589A80D8DD5C49DA5397032E3F09B76BC3A2C314ED.svg","../dist/svg/shield-off.svg":"./prod/svg/shield-off.85394A6AD92D550F8EBA72AAB095E078E7A0E3359DF81174532C8D1AF53B5876.svg","../dist/svg/home.svg":"./prod/svg/home.28C26C2D3E4013D24D755A589A80D8DD5C49DA5397032E3F09B76BC3A2C314ED.svg","../dist/a/b/c/d/s/d/svg/toggle-left.svg":"./prod/a/b/c/d/s/d/svg/toggle-left.E421950C5922E84015F0A86F272AE5637A2ED96E267D2C962543F5994E5D1172.svg","../dist/svg/settings.svg":"./prod/svg/settings.910C6241743C9C694141971BE8E1C4016A1A5BF203E4E9D676D4CE93BD518F4C.svg","../dist/svg/moon.svg":"./prod/svg/moon.1E151D68949CA3B2DC7DE34BC25B7586E4175AC3BA7F56DDBB34227334EF7155.svg","../dist/user.svg":"./prod/user.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/eye.svg":"./prod/eye.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/svg/user.svg":"./prod/svg/user.B164ECD2C4A09DC5189F1F252487E2AC6A33646BEA67AF9C528CDA61FE5E146F.svg","../dist/a/b/c/d/s/d/svg/help-circle.svg":"./prod/a/b/c/d/s/d/svg/help-circle.BE230ABD2E05EB05EF6C5B7D04D35A3A43637EF1E046DEF3D244425609B99F81.svg","../dist/svg/bell.svg":"./prod/svg/bell.9DA292704EE9907EFDB870F4510C97336977CA27FBFAAD83CF46F8E22D3828F7.svg","../dist/globe.svg":"./prod/globe.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/toggle-left.svg":"./prod/toggle-left.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/a/b/c/d/s/d/svg/5.svg":"./prod/a/b/c/d/s/d/svg/5.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/a/b/c/d/s/d/svg/log-out.svg":"./prod/a/b/c/d/s/d/svg/log-out.92AB4384FD41D9AFE4735C480361BB64789CD767B7DD0FF3C6F56287B3D4498E.svg","../dist/credit-card.svg":"./prod/credit-card.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/svg/file-text.svg":"./prod/svg/file-text.CF57DF252051E7E81C240D36AF1DB8A9DDAF282F9A5E8C338408FE88A6545A02.svg","../dist/a/b/c/d/s/d/svg/3.svg":"./prod/a/b/c/d/s/d/svg/3.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/moon.svg":"./prod/moon.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/a/b/c/d/s/d/svg/file-text.svg":"./prod/a/b/c/d/s/d/svg/file-text.CF57DF252051E7E81C240D36AF1DB8A9DDAF282F9A5E8C338408FE88A6545A02.svg","../dist/svg/github.svg":"./prod/svg/github.FA9EB1C66F548EC2C7598B94BA6A17275E1EA383D42B6C83351A2388C773E621.svg","../dist/svg/eye-off.svg":"./prod/svg/eye-off.939360B335D1D35B57C3E2070129D14ABB168E4AC137B5BE4F6F8BD450B712F5.svg","../dist/settings.svg":"./prod/settings.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/a/b/c/d/s/d/svg/1.svg":"./prod/a/b/c/d/s/d/svg/1.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/svg/shield.svg":"./prod/svg/shield.13AFE15DCB4882B4A940CFDC3E2088A733CD4E6F97F25B211D87C7C9D6DBA2B6.svg","../dist/shield-off.svg":"./prod/shield-off.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/a/b/c/d/s/d/svg/user.svg":"./prod/a/b/c/d/s/d/svg/user.B164ECD2C4A09DC5189F1F252487E2AC6A33646BEA67AF9C528CDA61FE5E146F.svg","../dist/svg/eye.svg":"./prod/svg/eye.9DE4D24D3C9B055D02B94A8AD65E8C0C644852381FDD131A64448B6DA7859167.svg","../dist/home.svg":"./prod/home.99378E293369ED6C5DC48A825BFF345A442988AEAFD48CC5EA399EDC87A3CBFA.svg","../dist/a/b/c/d/s/d/svg/credit-card.svg":"./prod/a/b/c/d/s/d/svg/credit-card.DF612AFE367A7B31410F2F6CD3C7B515B0F1889C0107EA695D840DFFA492E07D.svg","../dist/a/b/c/d/s/d/svg/shield-off.svg":"./prod/a/b/c/d/s/d/svg/shield-off.85394A6AD92D550F8EBA72AAB095E078E7A0E3359DF81174532C8D1AF53B5876.svg"},"base_dir":"./prod"}
\ No newline at end of file
diff --git a/src/lib.rs b/src/lib.rs
index 0e471bd..67ec6e0 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -5,6 +5,25 @@
* License.
*/
#![warn(missing_docs, missing_debug_implementations, rust_2018_idioms)]
+//! # What is cache busting?
+//!
+//! To optimise network load time, browsers cache static files. Caching
+//! greatly improves performance but how do you inform browsers to
+//! invalidate cache when your files have changed?
+//!
+//! Cache busting is a simple but effective solution for this issue. There
+//! are several ways to achieve this but the way this library does this is
+//! by changing file names to include the hash of the files' contents.
+//!
+//! So if you have `bundle.js`, it will become
+//! `bundle..js`. This lets you set a super long cache age
+//! as, because of the file names changing, the path to the filename, too,
+//! will change. So as far as the browser is concerned, you are trying to load
+//! a file that it doesn't have. Pretty neat, isn't it?
+//!
+//! ## Example:
+//!
+//! - `build.rs`
//! ```no_run
//! use cache_buster::BusterBuilder;
//!
@@ -30,6 +49,22 @@
//! config.process().unwrap();
//! }
//! ```
+//! - `main.rs`:
+//!
+//! Module describing runtime compoenet for fetching modified filenames
+//!
+//! Add the following tou your program to load the filemap during compiletime:
+//!
+//! ```no_run
+//! use cache_buster::Files;
+//! use cache_buster::CACHE_BUSTER_DATA_FILE;
+//!
+//! fn main(){
+//! let files = Files::new(CACHE_BUSTER_DATA_FILE);
+//! // the path to the file before setting up for cache busting
+//! files.get("./dist/github.svg");
+//! }
+//! ```
pub mod processor;
pub use processor::BusterBuilder;