neon_arch commited on
Commit
ccd9177
β€’
2 Parent(s): d54270f 2d218d6

ci: add ci to rolling from master

Browse files
.github/CODE_OF_CONDUCT.md ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
+
7
+ We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community and as such we strongly believe in **give respect and take respect** policy.
8
+
9
+ # What We Strive At
10
+
11
+ * **Be patient.**
12
+ * **Be welcoming and be friendly**: We strive to be a community that welcomes, supports and remain friendly to people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, colour, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability.
13
+ * **Be considerate**: Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions. Remember that we're a world-wide community, so you might not be communicating in someone else's primary language.
14
+ * **Be respectful**: Not all of us will agree all the time, but disagreement is no excuse for poor behavior and poor manners. We might all experience some frustration now and then, but we cannot allow that frustration to turn into a personal attack. It’s important to remember that a community where people feel uncomfortable or threatened is not a productive one.
15
+ * **Be careful in the words that you choose**: we are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behavior aren't acceptable. This includes, but is not limited to:
16
+ * Violent threats or language directed against another person.
17
+ * Discriminatory jokes and language.
18
+ * Using political talks and political orientated views.
19
+ * Posting sexually explicit or violent material.
20
+ * Posting (or threatening to post) other people's personally identifying information ("doxing").
21
+ * Personal insults, especially those using racist or sexist terms.
22
+ * Unwelcome sexual attention.
23
+ * Advocating for, or encouraging, any of the above behavior.
24
+ * Humor is acceptable but should not be done to harass, demean or to insult others.
25
+ * Repeated harassment of others. In general, if someone asks you to stop, then stop.
26
+ * Using overtly sexual aliases or other nicknames that might detract from a friendly, safe and welcoming environment for all.
27
+ * Using bad words or cursing.
28
+ * **When we disagree, try to understand why**: Disagreements, both social and technical, happen all the time. It is important that we resolve disagreements and differing views constructively. Remember that we’re different. The strength of our community comes from its diversity, people from a wide range of backgrounds. Different people have different perspectives on issues. Being unable to understand why someone holds a viewpoint doesn’t mean that they’re wrong. Don’t forget that it is human to err and blaming each other doesn’t get us anywhere. Instead, focus on helping to resolve issues and learning from mistakes.
29
+ * **Treat everyone equally:** we are community of mature people and maturity in the way we act, behave and treat others and as such we treat others as our brothers and sisters.
30
+
31
+ # Scope
32
+
33
+ The scope of the conduct of code is not limited to one individual or few individuals. This code of conduct applies for all be it the maintainer, the developer or any role assigned to the project or involved in any other way to the project. This code of conduct is not to provide privelages of one over the other. Any failure to enforce, act, using the code of conduct for your benefit or to evade certain situations or findings way to evade this conduct or a failure to provide a safe environment for others under the umberalla of this code of conduct will be considered a clear act of violation.
34
+
35
+ # Violation
36
+
37
+ Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
38
+
39
+ 1. **Correction**
40
+
41
+ **Community Impact:** Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
42
+
43
+ **Consequence:** A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
44
+
45
+ 2. **Warning**
46
+
47
+ **Community Impact:** A violation through a single incident or series of actions.
48
+
49
+ **Consequence:** A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
50
+
51
+ 3. **Temporary Ban**
52
+
53
+ **Community Impact:** A serious violation of community standards, including sustained inappropriate behavior.
54
+
55
+ **Consequence:** A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
56
+
57
+ 4. **Permanent Ban**
58
+
59
+ **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
60
+
61
+ **Consequence**: A permanent ban from any sort of public interaction within the community.
62
+
63
+
64
+ # Reporting Issues
65
+
66
+ If you experience or witness unacceptable behaviorβ€”or have any other concernsβ€”please report it by contacting the community leader via [mustafadhuleb53@gmail.com](mustafadhuleb53@gmail.com). All reports will be handled with discretion. In your report please include:
67
+
68
+ - Your contact information.
69
+ - Names (real, nicknames, or pseudonyms) of any individuals involved. If there are additional witnesses, please
70
+ include them as well. Your account of what occurred, and if you believe the incident is ongoing. If there is a publicly available record (e.g. a mailing list archive or a public IRC logger), please include a link.
71
+ - Any additional information that may be helpful.
72
+
73
+ Anyone asked to stop unacceptable behavior is expected to comply immediately. If an individual engages in unacceptable behavior, We will act according to the [violations rules](#violation) as stated above.
74
+
75
+ ## Attribution
76
+
77
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html, [Rust Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct) and [Twitter's Code of Conduct](https://github.com/twitter/.github/blob/main/code-of-conduct.md?plain=1)
78
+
79
+ Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
80
+
81
+ [homepage]: https://www.contributor-covenant.org
82
+
83
+ For answers to common questions about this code of conduct, see the FAQ at
84
+ https://www.contributor-covenant.org/faq. Translations are available at
85
+ https://www.contributor-covenant.org/translations.
.github/workflows/labels.yml ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Import open source standard labels
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+
8
+ jobs:
9
+ labels:
10
+
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - uses: actions/setup-node@v2
15
+ with:
16
+ node-version: '14'
17
+ - uses: EddieHubCommunity/gh-action-open-source-labels@main
18
+ with:
19
+ github-token: ${{ secrets.GITHUB_TOKEN }}
20
+ owner-name: ${{ github.repository_owner }}
21
+ repository-name: ${{ github.event.repository.name }}
22
+ force: true # optional to clear existing labels, default to true
.github/workflows/releases.yml ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Releases
2
+ on:
3
+ push:
4
+ branches:
5
+ - "rolling"
6
+
7
+ concurrency:
8
+ group: "rolling-branch"
9
+
10
+ jobs:
11
+ changelog:
12
+ if: github.repository == 'neon-mmd/websurfx'
13
+ runs-on: ubuntu-latest
14
+
15
+ steps:
16
+ # Create a temporary, uniquely named branch to push release info to
17
+ - name: create temporary branch
18
+ uses: peterjgrainger/action-create-branch@v2.3.0
19
+ id: create-branch
20
+ with:
21
+ branch: "release-from-${{ github.sha }}"
22
+ sha: "${{ github.sha }}"
23
+ env:
24
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25
+
26
+ # check out the repository afterwards
27
+ - uses: actions/checkout@v3
28
+
29
+ # fetch branches and switch to the temporary branch
30
+ - name: switch to new branch
31
+ run: git fetch --all && git checkout --track origin/release-from-${{ github.sha }}
32
+
33
+ # update app config with version
34
+ - name: get-npm-version
35
+ id: package-version
36
+ uses: martinbeentjes/npm-get-version-action@master
37
+ - name: update app config
38
+ run: sed -i 's/0.0.0/${{ steps.package-version.outputs.current-version}}/g' config/app.json
39
+
40
+ # create release info and push it upstream
41
+ - name: conventional Changelog Action
42
+ id: changelog
43
+ uses: TriPSs/conventional-changelog-action@v3
44
+ with:
45
+ github-token: ${{ secrets.GITHUB_TOKEN }}
46
+ version-file: "./Cargo.toml"
47
+ git-branch: "release-from-${{ github.sha }}"
48
+ skip-on-empty: false
49
+ skip-git-pull: true
50
+
51
+ # create PR using GitHub CLI
52
+ - name: create PR with release info
53
+ id: create-pr
54
+ run: gh pr create --base main --head release-from-${{ github.sha }} --title 'Merge new release into rolling' --body 'Created by Github action'
55
+ env:
56
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
57
+
58
+ # merge PR using GitHub CLI
59
+ - name: merge PR with release info
60
+ id: merge-pr
61
+ run: gh pr merge --admin --merge --subject 'Merge release info' --delete-branch
62
+ env:
63
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
64
+
65
+ # release info is now in main so we can continue as before
66
+ - name: create release with last commit
67
+ uses: actions/create-release@v1
68
+ if: steps.changelog.outputs.skipped == 'false'
69
+ env:
70
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
71
+ with:
72
+ tag_name: ${{ steps.changelog.outputs.tag }}
73
+ release_name: ${{ steps.changelog.outputs.tag }}
74
+ body: ${{ steps.changelog.outputs.clean_changelog }}
.github/workflows/rust.yml CHANGED
@@ -21,6 +21,20 @@ jobs:
21
 
22
  steps:
23
  - uses: actions/checkout@v3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  - run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }}
25
  - name: Build
26
  run: cargo build --verbose
 
21
 
22
  steps:
23
  - uses: actions/checkout@v3
24
+ - run: rustup toolchain install stable --profile minimal
25
+ - uses: Swatinem/rust-cache@v2
26
+ with:
27
+ prefix-key: ""
28
+ shared-key: ""
29
+ key: ""
30
+ env-vars: ""
31
+ workspaces: ""
32
+ cache-directories: ""
33
+ cache-targets: ""
34
+ cache-on-failure: ""
35
+ cache-all-crates: ""
36
+ save-if: ""
37
+ - uses: actions/checkout@v3
38
  - run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }}
39
  - name: Build
40
  run: cargo build --verbose
.github/workflows/rust_format.yml ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ name: Rust format and clippy checks
2
+ on:
3
+ push:
4
+ branches:
5
+ - "**"
6
+ pull_request:
7
+ branches:
8
+ - "rolling"
9
+
10
+ jobs:
11
+ check:
12
+ name: Rust project
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: Install minimal stable with clippy and rustfmt
17
+ uses: actions-rs/toolchain@v1
18
+ with:
19
+ profile: minimal
20
+ toolchain: stable
21
+ components: rustfmt, clippy
22
+
23
+ - name: Run cargo check
24
+ uses: actions-rs/cargo@v1
25
+ with:
26
+ command: check
.github/workflows/stale.yml ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
2
+ #
3
+ # You can adjust the behavior by modifying this file.
4
+ # For more information, see:
5
+ # https://github.com/actions/stale
6
+ name: Mark stale issues and pull requests
7
+
8
+ on:
9
+ schedule:
10
+ - cron: '30 1 * * *'
11
+
12
+ jobs:
13
+ stale:
14
+
15
+ runs-on: ubuntu-latest
16
+ permissions:
17
+ issues: write
18
+ pull-requests: write
19
+
20
+ steps:
21
+ - uses: actions/stale@v5
22
+ with:
23
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
24
+ stale-issue-message: 'Stale issue message'
25
+ stale-pr-message: 'Stale pull request message'
26
+ stale-issue-label: 'no-issue-activity'
27
+ stale-pr-label: 'no-pr-activity'
README.md CHANGED
@@ -1,21 +1,7 @@
1
  <h1 align="center">Websurfx</h1>
2
  <p align="center">
3
- <i>
4
- A modern-looking, lightning-fast, privacy-respecting, secure
5
- <a href="https://en.wikipedia.org/wiki/Metasearch_engine"
6
- >meta search engine</a
7
- >
8
- (pronounced as websurface or web-surface /wΙ›bˈsɜːrfΙ™s/.) written in Rust. It
9
- provides a fast and secure search experience while respecting user
10
- privacy.</i
11
- >
12
- <br />
13
- <br />
14
- <img align="center" width="500px" src="./images/intro.png" />
15
- <br />
16
- <br />
17
  <b align="center"><a href="README.org">Readme</a></b> |
18
- <b><a href="https://discord.gg/k4GH2TnZ">Discord</a></b> |
19
  <b><a href="https://github.com/neon-mmd/websurfx">GitHub</a></b> |
20
  <b><a href="https://github.com/neon-mmd/websurfx/wiki">Documentation</a></b>
21
  <br /><br />
@@ -61,6 +47,35 @@
61
  src="https://img.shields.io/github/actions/workflow/status/neon-mmd/websurfx/rust.yml?style=flat-square"
62
  />
63
  </a>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  </p>
65
 
66
  <details>
@@ -68,8 +83,8 @@
68
  <p>
69
 
70
  - **Getting Started**
71
- - [🌈 Features](#features-)
72
  - [πŸ”­ Preview](#preview-)
 
73
  - [πŸ› οΈ Installation and Testing](#installation-and-testing-)
74
  - [πŸ”§ Configuration](#configuration-)
75
  - **Feature Overview**
@@ -89,17 +104,6 @@
89
  </p>
90
  </details>
91
 
92
- # Features 🌈
93
-
94
- - β›” Proper NSFW blocking
95
- - 🎨 High level customizability with 9 colorchemes provided by default with a simple theme, also supporting creation of your custom themes and colorschemes very quickly and easily
96
- - πŸ” Advanced image search
97
- - πŸ” Fast, private and secure
98
- - πŸ†“ 100% free and open source
99
- - 🌈 and lots more...
100
-
101
- **[⬆️ Back to Top](#websurfx)**
102
-
103
  # Preview πŸ”­
104
 
105
  ## Main Page
@@ -116,26 +120,25 @@
116
 
117
  **[⬆️ Back to Top](#websurfx)**
118
 
119
- # Installation and Testing πŸ› οΈ
 
 
 
 
 
 
120
 
121
- > For full setup instructions, see: [**Installation**]()
122
 
123
- To get started with Websurfx, clone the repository, edit the config file which is located in the `websurfx`{.verbatim} directory and install redis server by following the instructions located [here](https://redis.io/docs/getting-started/) and then run the websurfx server and redis server using the following commands:
124
 
125
- ``` shell
126
- git clone https://github.com/neon-mmd/websurfx.git
127
- cd websurfx
128
- cargo build
129
- redis-server -p 8082 &
130
- ./target/debug/websurfx
131
- ```
132
 
133
- If you want to use the rolling/edge branch, run the following commands instead:
134
 
135
  ``` shell
136
  git clone https://github.com/neon-mmd/websurfx.git
137
  cd websurfx
138
- git checkout rolling
139
  cargo build
140
  redis-server -p 8082 &
141
  ./target/debug/websurfx
@@ -150,7 +153,7 @@ Once you have started the server, open your preferred web browser and navigate t
150
 
151
  # Configuration πŸ”§
152
 
153
- > For full configuration instructions, see: [**Configuration**]()
154
 
155
  Websurfx is configured through the config.lua file, located at `websurfx/config.lua`.
156
 
@@ -158,7 +161,7 @@ Websurfx is configured through the config.lua file, located at `websurfx/config.
158
 
159
  # Theming 🎨
160
 
161
- > For full theming and customization instructions, see: [**Theming**]()
162
 
163
  Websurfx comes with several themes and colorschemes by default which you can apply and edit through the config file. Support for custom themes and colorschemes using css and develop your own unique-looking website.
164
 
@@ -203,7 +206,7 @@ We are looking for more willing contributors to help grow this project.For more
203
 
204
  > For full details and other ways you can help out, see: [**Contributing**]()
205
 
206
- If you're using Dashy and would like to help support its development, then that would be awesome! Contributions of any type, any size, are always very much appreciated, and we will appropriately credit you for your effort.
207
 
208
  Several areas that we need a bit of help with at the moment are:
209
  - **Better and more colorchemes** - Help fix colorchemes and add other famous colorchemes.
 
1
  <h1 align="center">Websurfx</h1>
2
  <p align="center">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  <b align="center"><a href="README.org">Readme</a></b> |
4
+ <b><a href="https://discord.gg/SWnda7Mw5u">Discord</a></b> |
5
  <b><a href="https://github.com/neon-mmd/websurfx">GitHub</a></b> |
6
  <b><a href="https://github.com/neon-mmd/websurfx/wiki">Documentation</a></b>
7
  <br /><br />
 
47
  src="https://img.shields.io/github/actions/workflow/status/neon-mmd/websurfx/rust.yml?style=flat-square"
48
  />
49
  </a>
50
+ <a href="">
51
+ <img
52
+ alt="GitHub release (latest by date including pre-releases)"
53
+ src="https://img.shields.io/github/v/release/neon-mmd/websurfx?include_prereleases"
54
+ />
55
+ </a>
56
+ <a href=""
57
+ ><img
58
+ alt="Maintenance"
59
+ src="https://img.shields.io/maintenance/yes/2023?style=flat-square"
60
+ />
61
+ </a>
62
+ <a href="">
63
+ <img
64
+ alt="GitHub contributors"
65
+ src="https://img.shields.io/github/contributors-anon/neon-mmd/websurfx?style=flat-square"
66
+ />
67
+ </a>
68
+ <br />
69
+ <br />
70
+ <i>
71
+ A modern-looking, lightning-fast, privacy-respecting, secure
72
+ <a href="https://en.wikipedia.org/wiki/Metasearch_engine"
73
+ >meta search engine</a
74
+ >
75
+ (pronounced as websurface or web-surface /wΙ›bˈsɜːrfΙ™s/.) written in Rust. It
76
+ provides a fast and secure search experience while respecting user
77
+ privacy.</i
78
+ >
79
  </p>
80
 
81
  <details>
 
83
  <p>
84
 
85
  - **Getting Started**
 
86
  - [πŸ”­ Preview](#preview-)
87
+ - [🌈 Features](#features-)
88
  - [πŸ› οΈ Installation and Testing](#installation-and-testing-)
89
  - [πŸ”§ Configuration](#configuration-)
90
  - **Feature Overview**
 
104
  </p>
105
  </details>
106
 
 
 
 
 
 
 
 
 
 
 
 
107
  # Preview πŸ”­
108
 
109
  ## Main Page
 
120
 
121
  **[⬆️ Back to Top](#websurfx)**
122
 
123
+ # Features 🌈
124
+
125
+ - 🎨 High level customizability with 9 colorchemes provided by default with a simple theme, also supporting creation of your custom themes and colorschemes very quickly and easily
126
+ - πŸ” Fast, private and secure
127
+ - πŸ†“ 100% free and open source
128
+ - 🧹 Ad free and clean results
129
+ - 🌈 and lots more...
130
 
131
+ **[⬆️ Back to Top](#websurfx)**
132
 
133
+ # Installation and Testing πŸ› οΈ
134
 
135
+ > For full setup instructions, see: [**Installation**](https://github.com/neon-mmd/websurfx/wiki/installation)
 
 
 
 
 
 
136
 
137
+ To get started with Websurfx, clone the repository, edit the config file which is located in the `websurfx`{.verbatim} directory and install redis server by following the instructions located [here](https://redis.io/docs/getting-started/) and then run the websurfx server and redis server using the following commands:
138
 
139
  ``` shell
140
  git clone https://github.com/neon-mmd/websurfx.git
141
  cd websurfx
 
142
  cargo build
143
  redis-server -p 8082 &
144
  ./target/debug/websurfx
 
153
 
154
  # Configuration πŸ”§
155
 
156
+ > For full configuration instructions, see: [**Configuration**](https://github.com/neon-mmd/websurfx/wiki/configuration)
157
 
158
  Websurfx is configured through the config.lua file, located at `websurfx/config.lua`.
159
 
 
161
 
162
  # Theming 🎨
163
 
164
+ > For full theming and customization instructions, see: [**Theming**](https://github.com/neon-mmd/websurfx/wiki/theming)
165
 
166
  Websurfx comes with several themes and colorschemes by default which you can apply and edit through the config file. Support for custom themes and colorschemes using css and develop your own unique-looking website.
167
 
 
206
 
207
  > For full details and other ways you can help out, see: [**Contributing**]()
208
 
209
+ If you're using Websurfx and would like to help support its development, then that would be awesome! Contributions of any type, any size, are always very much appreciated, and we will appropriately credit you for your effort.
210
 
211
  Several areas that we need a bit of help with at the moment are:
212
  - **Better and more colorchemes** - Help fix colorchemes and add other famous colorchemes.