Skip to content

Commit

Permalink
Added compression document
Browse files Browse the repository at this point in the history
  • Loading branch information
Mohsens22 committed Mar 14, 2018
1 parent 1fcdd62 commit 93e364a
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 8 deletions.
8 changes: 5 additions & 3 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# License Agreement

By accessing Olive, you are agreeing to the following licensing terms.
If you do not agree to these terms, do not access Olive.
If you do not agree to these terms, do not access Olive.

## Free Open Source License

Your license to the Olive source and/or binaries is governed by the GNU General Public License as described here:
https://www.gnu.org/licenses/gpl-3.0.en.html
[https://www.gnu.org/licenses/gpl-3.0.en.html](https://www.gnu.org/licenses/gpl-3.0.en.html)

Note: If you want to use Olive under this license you should also release the source code of your software under the same terms.

## Commercial License
If you do not wish to release the source of the software you build using Olive, you may contact Geeks Ltd to ask for a Commercial License Agreement.

If you do not wish to release the source of the software you build using Olive, you may contact Geeks Ltd to ask for a Commercial License Agreement.
5 changes: 3 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# What is Olive?
Olive is a framework for more productive cross platform .NET solutions. It provides a whole set of productivity tools to make .NET development easier, cleaner and more expressive. It's available under the GPLv3 license.
# What is Olive

Olive is a framework built top of .NET for more productive cross platform software development in .NET solutions. It provides a whole set of productivity tools to make .NET development easier, cleaner and more expressive. It's available under the GPLv3 license.

Olive is a .NET Standard 2.0 library and so compatible with .NET Framework 4.6.1, .NET Core 2.0, Mono 5.4, Xamarin.iOS 10.14, Xamarin.Mac 3.8, Xamarin.Android 7.5 and UWP.

Expand Down
32 changes: 32 additions & 0 deletions docs/Services/Compression.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Olive.Compression

This library will get you *fluent methods* to compress and decompress your files and folders.

## Getting started

First you need to add the [Olive.Compression](https://www.nuget.org/packages/Olive.Compression/) NuGet package : `Install-Package Olive.Compression -Version 1.0.16` .
Now add `using Olive;` in top of your csharp file and start using `Olive.Compression` fluent methods!

### Compression

It's really easy to compress a folder. Just make a **DirectoryInfo** object then make a compressed file using `Compress()`extension method. Here is a full example:

```cs
var folder = new DirectoryInfo("e:\\somewhere");
var file = new FileInfo("e:\\somewhereelse\\something.zip");
folder.Compress(CompressionFormat.Zip, file, overwrite: true);
```

You can compress your folder either in formats of **Zip** , **GZip** and **Tar**.

### Decompression

You can decompress your compressed file into a directory by making a **FileInfo** object then decompress it into a directory using `decompress()`extension method; Here is an example:

```cs
var file = new FileInfo("e:\\somewhereelse\\something.zip");
var folder = new DirectoryInfo("e:\\somewhere");
file.Decompress(folder);
```

You can decompress archives with the formats of **Gzip**, **Zip**, **7Zip**, **Rar** and **Tar** with this fluent method.
8 changes: 5 additions & 3 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
* [What is Olive?](README.md)
* [.NET Extensions](Core/Extensions.md)
* [Utility classes](Core/Utilities.md)
* [change log](ChangeLog.md)

* Microservices Architecture
* [Overview](Microservices/Overview.md)
* [Environment Setup](Microservices/Setup.md)
* [Private Nuget Server](Microservices/PrivateNuget.md)
* [Private Nuget Server](Microservices/PrivateNuget.md)
* [Security (Auth)](Microservices/Security.md)
* [Urls and Addressing](Microservices/Addressing.md)
* [Creating a new microservice](Microservices/Create.New.md)
Expand All @@ -16,7 +17,7 @@
* [Build server: Jenkins](Microservices/Jenkins.md)

* Web Api and Integration
* [ASP.NET WebApi](Api/WebApi.md)
* [RESTful WebApi](Api/WebApi.md)
* [ApiClient](Api/ApiClient.md)
* [Api Proxy](Api/Proxy.md)
* [Api Versioning](Api/Versioning.md)
Expand All @@ -32,10 +33,11 @@


* Olive Javascript Fx (MvcJS)
* [Overview](MvcJS/Overview.md)
* [Overview](MvcJS/Overview.md)


* Olive Plugins
* [Compression](Services/Compression.md)
* [Email notifications]()
* [SMS notifications]()
* [GeoLocation]()
Expand Down

0 comments on commit 93e364a

Please sign in to comment.