Skip to content

Commit 436edcb

Browse files
authored
documentation updates before registering (#8)
1 parent a133077 commit 436edcb

File tree

4 files changed

+80
-44
lines changed

4 files changed

+80
-44
lines changed

README.md

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
|:------:|:--------------:|:---------------:|:--------------:|
55
|[![version][ver-img]][ver-url]|[![CI Status][ci-img]][ci-url]|[![Stable docs][stable-img]][stable-url]|[![contributing guidelines][contrib-img]][contrib-url]|
66
|[![Licese: MIT][license-img]][license-url]|[![Coverage][cov-img]][cov-url]|[![Dev docs][dev-img]][dev-url]|[![SciML Code Style][style-img]][style-url]|
7+
|[![downloads][download-img]][download-url]|[![pkgeval-img]][pkgeval-url]||[![gitter-chat][chat-img]][chat-url]|
78

89
A Julia library for fuzzy inference.
910

@@ -12,7 +13,7 @@ A Julia library for fuzzy inference.
1213
To install the package, open a Julia session and run
1314

1415
```julia
15-
using Pkg; Pkg.add(url="https://github.com/lucaferranti/FuzzyLogic.jl.git")
16+
using Pkg; Pkg.add("FuzzyLogic")
1617
```
1718

1819
the package can then be loaded with
@@ -21,13 +22,11 @@ the package can then be loaded with
2122
using FuzzyLogic
2223
```
2324

24-
## Roadmap
25+
## Features
2526

26-
- **Rich!** Mamdani and Sugeno inference systems, both Type-1 and Type-2, several [membership functions](https://lucaferranti.github.io/FuzzyLogic.jl/stable/api/memberships) and [algoritms options](https://lucaferranti.github.io/FuzzyLogic.jl/stable/api/fis) available.
27-
- **Compatible!** Able to read/write your model from/to [IEEE 1855-2016 Fuzzy Markup Language](https://en.wikipedia.org/wiki/Fuzzy_markup_language) and [IEC 61131-7 Fuzzy Control Language](https://ffll.sourceforge.net/fcl.htm) and Matlab Fuzzy toolbox `.fis` files.
27+
- **Rich!** Mamdani and Sugeno Type-1 inference systems, several membership functions and algoritms options available.
2828
- **Expressive!** Clear Domain Specific Language to write your model as human readable Julia code
2929
- **Productive!** Several visualization tools to help debug and tune your model.
30-
- **Portable!** Compile your final model to Julia or C/C++ code.
3130

3231
## Quickstart example
3332

@@ -58,7 +57,7 @@ fis = @mamfis function tipper(service, food)::tip
5857
service == excellent || food == delicious --> tip == generous
5958
end
6059

61-
fis(; service=1, food=2)
60+
fis(service=1, food=2)
6261
```
6362

6463
## Documentation
@@ -74,12 +73,15 @@ Contributions are welcome! If you find a bug or want to request a feature, [open
7473

7574
- Copyright (c) 2022 [Luca Ferranti](https://github.com/lucaferranti)
7675

77-
[ver-img]: https://img.shields.io/badge/lifecycle-maturing-important
78-
[ver-url]: #
76+
[ver-img]: https://juliahub.com/docs/FuzzyLogic/version.svg
77+
[ver-url]: https://github.com/lucaferranti/FuzzyLogic.jl/releases/latest
7978

8079
[license-img]: https://img.shields.io/badge/license-MIT-yellow.svg
8180
[license-url]: https://github.com/lucaferranti/FuzzyLogic.jl/blob/main/LICENSE
8281

82+
[download-img]: https://shields.io/endpoint?url=https://pkgs.genieframework.com/api/v1/badge/FuzzyLogic&label=downloads
83+
[download-url]: https://pkgs.genieframework.com/?packages=FuzzyLogic
84+
8385
[stable-img]: https://img.shields.io/badge/docs-stable-blue.svg
8486
[stable-url]:https://lucaferranti.github.io/FuzzyLogic.jl/stable/
8587

@@ -92,8 +94,15 @@ Contributions are welcome! If you find a bug or want to request a feature, [open
9294
[cov-img]: https://codecov.io/gh/lucaferranti/FuzzyLogic.jl/branch/main/graph/badge.svg
9395
[cov-url]: https://codecov.io/gh/lucaferranti/FuzzyLogic.jl
9496

95-
[contrib-img]: https://img.shields.io/badge/Contributor-Guide-important
97+
[pkgeval-img]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/F/FuzzyLogic.svg
98+
[pkgeval-url]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/F/FuzzyLogic.html
99+
100+
[contrib-img]: https://img.shields.io/badge/Contributor-Guide-blueviolet
96101
[contrib-url]: https://lucaferranti.github.io/FuzzyLogic.jl/dev/contributing
97102

98103
[style-img]: https://img.shields.io/static/v1?label=code%20style&message=SciML&color=9558b2&labelColor=389826
99-
[style-url]: https://github.com/SciML/SciMLStyle
104+
[style-url]: https://github.com/SciML/SciMLStyle
105+
106+
[chat-img]: https://badges.gitter.im/badge.svg
107+
[chat-url]: https://gitter.im/FuzzyLogic-jl/dev
108+

docs/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ TestImages = "5e47fb64-e119-507b-a336-dd2b206d9990"
1111

1212
[compat]
1313
DocThemeIndigo = "0.1.3"
14+
ImageCore = "0.9.4"
1415
ImageFiltering = "0.7.3"
1516
Literate = "2.14"
1617
Plots = "1.38"

docs/src/contributing.md

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,20 @@ All contributions should go through git branches. If you are not familiar with g
2727
**1.** Clone the repository
2828

2929
```
30-
git clone
30+
git clone https://github.com/lucaferranti/FuzzyLogic.jl.git
3131
```
32+
and enter it with
33+
34+
```
35+
cd FuzzyLogic.jl
36+
```
37+
38+
!!! warning "Warning"
39+
From now on, these instructions assume you are in the `FuzzyLogic.jl` folder
3240

3341
**2.** [Fork the repository](https://github.com/lucaferranti/FuzzyLogic.jl).
3442

35-
**3.** Add your for as remote with
43+
**3.** Add your fork as remote with
3644

3745
```
3846
git remote add $new_remote_name $your_fork_link
@@ -84,6 +92,25 @@ git switch -c $new-branch-name
8492
## Coding guideline
8593

8694
* The package follows [SciMLStyle](https://github.com/sciml/SciMLStyle).
95+
* You can run the tests locally from the Julia REPL with
96+
97+
```julia
98+
include("test/runtests.jl")
99+
```
100+
101+
* Each test file is stand-alone, hence you can also run individual files, e.g. `include("test/test_parser.jl")`
102+
103+
* To make finding tests easier, the test folder structure should (roughly) reflect the structure of the `src` folder.
104+
105+
## Working on the documentation
106+
107+
* You can build the documentation locally with
108+
109+
```
110+
julia --project=docs docs/make.jl
111+
```
112+
113+
* Tutorials and applications are written using [Literate.jl](https://github.com/fredrikekre/Literate.jl), hence if working on those, you should edit the source file under the `literate` folder and not directly the markdown.
87114

88115
## Further reading
89116

docs/src/index.md

Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@
22

33
|**Info**|**Build status**|**Documentation**|**Contributing**|
44
|:------:|:--------------:|:---------------:|:--------------:|
5-
|![version](https://img.shields.io/badge/lifecycle-maturing-important)|[![CI Status](https://github.com/lucaferranti/FuzzyLogic.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/lucaferranti/FuzzyLogic.jl/actions/workflows/CI.yml?query=branch%3Amain)|[![Stable docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://lucaferranti.github.io/FuzzyLogic.jl/stable/)|[![contributing guidelines](https://img.shields.io/badge/Contributor-Guide-important)](https://lucaferranti.github.io/FuzzyLogic.jl/dev/contributing)|
5+
|[![version](https://juliahub.com/docs/FuzzyLogic/version.svg)](https://github.com/lucaferranti/FuzzyLogic.jl/releases/latest)|[![CI Status](https://github.com/lucaferranti/FuzzyLogic.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/lucaferranti/FuzzyLogic.jl/actions/workflows/CI.yml?query=branch%3Amain)|[![Stable docs](https://img.shields.io/badge/docs-stable-blue.svg)](https://lucaferranti.github.io/FuzzyLogic.jl/stable/)|[![contributing guidelines](https://img.shields.io/badge/Contributor-Guide-blueviolet)](https://lucaferranti.github.io/FuzzyLogic.jl/dev/contributing)|
66
|[![Licese: MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](https://github.com/lucaferranti/FuzzyLogic.jl/blob/main/LICENSE)|[![Coverage](https://codecov.io/gh/lucaferranti/FuzzyLogic.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/lucaferranti/FuzzyLogic.jl)|[![Dev docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://lucaferranti.github.io/FuzzyLogic.jl/dev/)|[![SciML Code Style](https://img.shields.io/static/v1?label=code%20style&message=SciML&color=9558b2&labelColor=389826)](https://github.com/SciML/SciMLStyle)|
7+
|[![downloads](https://shields.io/endpoint?url=https://pkgs.genieframework.com/api/v1/badge/FuzzyLogic&label=downloads)](https://pkgs.genieframework.com/?packages=FuzzyLogic)|[![PkgEval](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/F/FuzzyLogic.svg)](https://juliaci.github.io/NanosoldierReports/pkgeval_badges/F/FuzzyLogic.html)||[![gitter-chat](https://badges.gitter.im/badge.svg)](https://gitter.im/FuzzyLogic-jl/dev)|
78

8-
A Julia library to perform Fuzzy inference.
9+
A Julia library for fuzzy inference.
910

1011
## Installation
1112

1213
To install the package, open a Julia session and run
1314

1415
```julia
15-
using Pkg; Pkg.add(url="https://github.com/lucaferranti/FuzzyLogic.jl.git")
16+
using Pkg; Pkg.add("FuzzyLogic")
1617
```
1718

1819
the package can then be loaded with
@@ -21,46 +22,44 @@ the package can then be loaded with
2122
using FuzzyLogic
2223
```
2324

24-
## Roadmap
25+
## Features
2526

26-
- **Rich!** Mamdani and Sugeno inference systems, both Type-1 and Type-2, several [membership functions](https://lucaferranti.github.io/FuzzyLogic.jl/stable/api/memberships) and [algoritms options](https://lucaferranti.github.io/FuzzyLogic.jl/stable/api/fis) available.
27-
- **Compatible!** Able to read/write your model from/to [IEEE 1855-2016 Fuzzy Markup Language](https://en.wikipedia.org/wiki/Fuzzy_markup_language) and [IEC 61131-7 Fuzzy Control Language](https://ffll.sourceforge.net/fcl.htm) and Matlab Fuzzy toolbox `.fis` files.
27+
- **Rich!** Mamdani and Sugeno Type-1 inference systems, several membership functions and algoritms options available.
2828
- **Expressive!** Clear Domain Specific Language to write your model as human readable Julia code
2929
- **Productive!** Several visualization tools to help debug and tune your model.
30-
- **Portable!** Compile your final model to Julia or C/C++ code.
3130

3231
## Quickstart example
3332

3433
```julia
35-
fis = @mamfis function tipper(service in 0:10, food in 0:10)::{tip in 0:30}
36-
poor = GaussianMF(0.0, 1.5)
37-
good = GaussianMF(5.0, 1.5)
38-
excellent = GaussianMF(10.0, 1.5)
39-
40-
rancid = TrapezoidalMF(-2, 0, 1, 3)
41-
delicious = TrapezoidalMF(7, 9, 10, 12)
42-
43-
cheap = TriangularMF(0, 5, 10)
44-
average = TriangularMF(10, 15, 20)
45-
generous = TriangularMF(20, 25, 30)
46-
47-
service == poor || food == rancid => tip == cheap
48-
service == good => tip == average
49-
service == excellent || food == delicious => tip == generous
34+
fis = @mamfis function tipper(service, food)::tip
35+
service := begin
36+
domain = 0:10
37+
poor = GaussianMF(0.0, 1.5)
38+
good = GaussianMF(5.0, 1.5)
39+
excellent = GaussianMF(10.0, 1.5)
40+
end
41+
42+
food := begin
43+
domain = 0:10
44+
rancid = TrapezoidalMF(-2, 0, 1, 3)
45+
delicious = TrapezoidalMF(7, 9, 10, 12)
46+
end
47+
48+
tip := begin
49+
domain = 0:30
50+
cheap = TriangularMF(0, 5, 10)
51+
average = TriangularMF(10, 15, 20)
52+
generous = TriangularMF(20, 25, 30)
53+
end
54+
55+
service == poor || food == rancid --> tip == cheap
56+
service == good --> tip == average
57+
service == excellent || food == delicious --> tip == generous
5058
end
5159

52-
fis(; service=1, food=2)
60+
fis(service=1, food=2)
5361
```
5462

55-
## Documentation
56-
57-
- [**STABLE**](https://lucaferranti.github.io/FuzzyLogic.jl/stable/): Documentation of the latest release
58-
- [**DEV**](https://lucaferranti.github.io/FuzzyLogic.jl/dev/): Documentation of the version on main
59-
60-
## Contributing
61-
62-
Contributions are welcome! If you find a bug or want to request a feature, [open an issue](https://github.com/lucaferranti/FuzzyLogic.jl/issues). You are also encouraged to send pull requests (PRs). For small changes, it is ok to open a PR directly. For bigger changes, it is advisable to discuss it in an issue first. Before opening a PR, make sure to check the [contributing guidelines](https://lucaferranti.github.io/FuzzyLogic.jl/dev/contributing).
63-
6463
## Copyright
6564

6665
- Copyright (c) 2022 [Luca Ferranti](https://github.com/lucaferranti)

0 commit comments

Comments
 (0)