2
0
mirror of https://github.com/inventree/inventree-website.git synced 2025-04-28 13:36:47 +00:00

Merge branch 'main' of github.com:inventree/inventree-website

This commit is contained in:
Oliver Walters 2023-01-26 17:22:31 +11:00
commit 5ed427e894
19 changed files with 113 additions and 89 deletions

View File

@ -33,11 +33,11 @@ def get_data(url, key=None, default=0, mode: ReturnMode=ReturnMode.data, auth=No
return data return data
docker = get_data(f'https://hub.docker.com/v2/repositories/{github_project}', 'pull_count') docker = get_data(f'https://hub.docker.com/v2/repositories/{github_project}', 'pull_count')
gh_data = get_data(f'https://api.github.com/repos/{github_project}') gh_data = get_data(f'https://api.github.com/repos/{github_project}', auth=os.environ.get('GITHUB_TOKEN'))
stars = gh_data.get('stargazers_count', 0) stars = gh_data.get('stargazers_count', 0)
forks = gh_data.get('forks_count', 0) forks = gh_data.get('forks_count', 0)
# See https://stackoverflow.com/a/60458265/17860466 # to enabble anon add `&anon=true` # See https://stackoverflow.com/a/60458265/17860466 # to enabble anon add `&anon=true`
link = get_data(f'https://api.github.com/repos/{github_project}/contributors?per_page=1', mode=ReturnMode.header).get('Link') link = get_data(f'https://api.github.com/repos/{github_project}/contributors?per_page=1', mode=ReturnMode.header, auth=os.environ.get('GITHUB_TOKEN')).get('Link')
contributors = link.split('page=')[-1].split('>')[0] contributors = link.split('page=')[-1].split('>')[0]
# Crowdin # Crowdin
crowdin_data = get_data(f'https://api.crowdin.com/api/v2/projects/{crowdin_projet_id}?limit=1000', 'data', auth=os.environ.get('CROWDIN_TOKEN')) crowdin_data = get_data(f'https://api.crowdin.com/api/v2/projects/{crowdin_projet_id}?limit=1000', 'data', auth=os.environ.get('CROWDIN_TOKEN'))

View File

@ -9,7 +9,7 @@ jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: {}
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
with: with:
@ -18,6 +18,7 @@ jobs:
run: python .github/get_stats.py run: python .github/get_stats.py
env: env:
CROWDIN_TOKEN: ${{ secrets.CROWDIN_TOKEN }} CROWDIN_TOKEN: ${{ secrets.CROWDIN_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: stefanzweifel/git-auto-commit-action@v4 - uses: stefanzweifel/git-auto-commit-action@v4
with: with:
commit_message: "[Bot] Updated the stats" commit_message: "[Bot] Updated the stats"

View File

@ -1,13 +1,13 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
activesupport (7.0.2.3) activesupport (7.0.4.1)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2) i18n (>= 1.6, < 2)
minitest (>= 5.1) minitest (>= 5.1)
tzinfo (~> 2.0) tzinfo (~> 2.0)
addressable (2.8.0) addressable (2.8.1)
public_suffix (>= 2.0.2, < 5.0) public_suffix (>= 2.0.2, < 6.0)
colorator (1.1.0) colorator (1.1.0)
concurrent-ruby (1.1.10) concurrent-ruby (1.1.10)
em-websocket (0.5.3) em-websocket (0.5.3)
@ -16,28 +16,30 @@ GEM
eventmachine (1.2.7) eventmachine (1.2.7)
ffi (1.15.5) ffi (1.15.5)
forwardable-extended (2.6.0) forwardable-extended (2.6.0)
html-pipeline (2.14.1) google-protobuf (3.21.12-x86_64-linux)
html-pipeline (2.14.3)
activesupport (>= 2) activesupport (>= 2)
nokogiri (>= 1.4) nokogiri (>= 1.4)
http_parser.rb (0.8.0) http_parser.rb (0.8.0)
i18n (1.10.0) i18n (1.12.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
jekyll (4.2.2) jekyll (4.3.1)
addressable (~> 2.4) addressable (~> 2.4)
colorator (~> 1.0) colorator (~> 1.0)
em-websocket (~> 0.5) em-websocket (~> 0.5)
i18n (~> 1.0) i18n (~> 1.0)
jekyll-sass-converter (~> 2.0) jekyll-sass-converter (>= 2.0, < 4.0)
jekyll-watch (~> 2.0) jekyll-watch (~> 2.0)
kramdown (~> 2.3) kramdown (~> 2.3, >= 2.3.1)
kramdown-parser-gfm (~> 1.0) kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0) liquid (~> 4.0)
mercenary (~> 0.4.0) mercenary (>= 0.3.6, < 0.5)
pathutil (~> 0.9) pathutil (~> 0.9)
rouge (~> 3.0) rouge (>= 3.0, < 5.0)
safe_yaml (~> 1.0) safe_yaml (~> 1.0)
terminal-table (~> 2.0) terminal-table (>= 1.8, < 4.0)
jekyll-feed (0.16.0) webrick (~> 1.7)
jekyll-feed (0.17.0)
jekyll (>= 3.7, < 5.0) jekyll (>= 3.7, < 5.0)
jekyll-mentions (1.6.0) jekyll-mentions (1.6.0)
html-pipeline (~> 2.3) html-pipeline (~> 2.3)
@ -52,35 +54,35 @@ GEM
jekyll-watch (2.2.1) jekyll-watch (2.2.1)
listen (~> 3.0) listen (~> 3.0)
jekyll_custom_permalink (0.0.1) jekyll_custom_permalink (0.0.1)
kramdown (2.3.2) kramdown (2.4.0)
rexml rexml
kramdown-parser-gfm (1.1.0) kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0) kramdown (~> 2.0)
liquid (4.0.3) liquid (4.0.4)
listen (3.7.1) listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3) rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0) mercenary (0.4.0)
minitest (5.15.0) minitest (5.17.0)
nokogiri (1.13.10-x86_64-linux) nokogiri (1.14.0-x86_64-linux)
racc (~> 1.4) racc (~> 1.4)
pathutil (0.16.2) pathutil (0.16.2)
forwardable-extended (~> 2.6) forwardable-extended (~> 2.6)
public_suffix (4.0.7) public_suffix (5.0.1)
racc (1.6.1) racc (1.6.2)
rb-fsevent (0.11.1) rb-fsevent (0.11.2)
rb-inotify (0.10.1) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
rexml (3.2.5) rexml (3.2.5)
rouge (3.28.0) rouge (4.0.1)
safe_yaml (1.0.5) safe_yaml (1.0.5)
sassc (2.4.0) sassc (2.4.0)
ffi (~> 1.9) ffi (~> 1.9)
terminal-table (2.0.0) terminal-table (3.0.2)
unicode-display_width (~> 1.1, >= 1.1.1) unicode-display_width (>= 1.1.1, < 3)
tzinfo (2.0.4) tzinfo (2.0.5)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
unicode-display_width (1.8.0) unicode-display_width (2.4.2)
webrick (1.7.0) webrick (1.7.0)
PLATFORMS PLATFORMS
@ -97,4 +99,4 @@ DEPENDENCIES
webrick (~> 1.7) webrick (~> 1.7)
BUNDLED WITH BUNDLED WITH
2.3.11 2.3.26

View File

@ -1,6 +1,8 @@
# InvenTree website # InvenTree website
This project contains the source for InvenTree's website. This project contains the source for InvenTree's website.
It is built on Jekyll and GitHub pages for backend / hosting and tailtwindcss for frontend. It is built on Jekyll and GitHub pages for backend / hosting, tailtwindcss for design and Netlify for preview builds.
[![Netlify Status](https://api.netlify.com/api/v1/badges/f84340d0-bc2f-4f7f-ad4c-877c50b33a27/deploy-status)](https://app.netlify.com/sites/inventree-org-preview/deploys)
## Architecture ## Architecture

View File

@ -23,8 +23,8 @@ baseurl: ""
url: "" url: ""
# Analytics # Analytics
analytics-domain: offen.inventree.org analytics-domain: umami.invenhost.com/umami.js
analytics-id: 2c8697da-bb92-441b-82ee-ece2622295b2 analytics-id: c713a5e9-25cf-4bb6-9e84-ceb041a53986
# Rendering settings - do not touch # Rendering settings - do not touch
collections: collections:

View File

@ -1,16 +1,16 @@
stats: stats:
- name: Docker pulls - name: Docker pulls
number: 2192006 number: 2225153
icon: fa-brands fa-docker icon: fa-brands fa-docker
- name: GitHub Stars - name: GitHub Stars
number: 2262 number: 2379
icon: fa-solid fa-star icon: fa-solid fa-star
- name: Forks - name: Forks
number: 354 number: 372
icon: fa-solid fa-code-branch icon: fa-solid fa-code-branch
- name: Contributors - name: Contributors
number: 52 number: 52
icon: fa-solids fa-hands-helping icon: fa-solid fa-hands-helping
- name: Languages - name: Languages
number: 26 number: 26
icon: fa-solid fa fa-language icon: fa-solid fa fa-language

View File

@ -1,6 +1,6 @@
text: InvenTree has had 40+ contributors since the project started in March 2017. Here are some of the currently most active devs. text: InvenTree has had 40+ contributors since the project started in March 2017. Here are some of the currently most active devs.
team: team:
- tag: oliver - tag: SchrodingersGat
name: Oliver name: Oliver
text: Oliver is an Australian EE. He started InvenTree in 2017 and is the maintainer. text: Oliver is an Australian EE. He started InvenTree in 2017 and is the maintainer.
links: links:

View File

@ -1,17 +1,26 @@
<section class="cm-gray-2 body-font"> <section class="cm-gray-2 body-font">
<div class="section-container"> <div class="section-container">
<a href="/about/team" alt="Learn more about the team">
<div class="flex flex-col text-center w-full mb-20"> <div class="flex flex-col text-center w-full mb-20">
<h1 class="text-2xl font-medium title-font mb-4 cm-gray-1 tracking-widest">OUR TEAM</h1> <h1 class="text-2xl font-medium title-font mb-4 cm-gray-1 tracking-widest">OUR TEAM</h1>
<p class="lg:w-2/3 mx-auto leading-relaxed text-base">{{ include.data.text }}</p> <p class="lg:w-2/3 mx-auto leading-relaxed text-base">{{ include.data.text }}</p>
</div> </div>
</a>
<div class="flex flex-wrap -m-4"> <div class="flex flex-wrap -m-4">
{% for item in include.data.team %} {% for item in include.data.team %}
<div class="p-4 lg:w-1/2"> <div class="p-4 lg:w-1/2">
<div class="h-full flex sm:flex-row flex-col sm:justify-start justify-center text-center sm:text-left"> <div class="h-full flex sm:flex-row flex-col sm:justify-start justify-center text-center sm:text-left">
<div class="flex-grow sm:pl-8"> <div class="flex-grow sm:pl-8">
<h2 class="title-font font-medium text-lg cm-gray-1">{{ item.tag }}</h2> <div class="flex items-end">
<h3 class="cm-gray-3 mb-3">{{ item.name }}</h3> <div class="mb-5">
<img src="https://github.com/{{ item.tag }}.png?size=40" alt="mdo" class="rounded-full" width="40" height="40" style="margin:0px">
</div>
<div>
<h2 class="title-font font-medium text-lg cm-gray-1">{{ item.tag }}</h2>
<h3 class="cm-gray-3 mb-3">{{ item.name }}</h3>
</div>
</div>
<p class="mb-4">{{ item.text }}</p> <p class="mb-4">{{ item.text }}</p>
<span class="inline-flex"> <span class="inline-flex">
{% for link in item.links %} {% for link in item.links %}

View File

@ -0,0 +1,3 @@
{% assign pub_small = include.pub | downcase %}
{% assign publisher_ref = site.publishers | where: 'short_name', pub_small | first %}
<a href="{{ publisher_ref.url | relative_url }}">{{ publisher_ref.name }}</a>

View File

@ -15,10 +15,7 @@ layout: default
<h1>{{ page.title }}</h1> <h1>{{ page.title }}</h1>
<p> <p>
{{ page.date | date_to_string }} {{ page.date | date_to_string }}
{% assign publisher = site.publishers | where: 'short_name', page.author | first %} {% include partial/publisher_link.html pub= page.author %}
{% if publisher %}
- <a href="{{ publisher.url | relative_url }}">{{ publisher.name }}</a>
{% endif %}
</p> </p>
{{ content }} {{ content }}
</article> </article>

View File

@ -14,7 +14,7 @@ layout: default
<a href="{{ item.url | relative_url }}">{{ item.title }}</a> <a href="{{ item.url | relative_url }}">{{ item.title }}</a>
</h2> </h2>
<span class="leading-relaxed mb-4">{{ item.excerpt | strip_html | strip_newlines | truncate: 156 }}</span> <span class="leading-relaxed mb-4">{{ item.excerpt | strip_html | strip_newlines | truncate: 156 }}</span>
<span>{{ item.date | date_to_string }} | {{ item.author }}</span> <span>{{ item.date | date_to_string }} | {% include partial/publisher_link.html pub=item.author %}</span>
</div> </div>
{% endfor %} {% endfor %}
</div> </div>

View File

@ -3,7 +3,7 @@
<head> <head>
{% include base/head.html %} {% include base/head.html %}
<script async src="https://{{site.analytics-domain}}/script.js" data-account-id="{{site.analytics-id}}"></script> <script async defer src="https://{{site.analytics-domain}}" data-website-id="{{site.analytics-id}}" data-do-not-track="true"></script>
</head> </head>
<body class="flex flex-col antialiased cm-gray-1 min-h-screen"> <body class="flex flex-col antialiased cm-gray-1 min-h-screen">

View File

@ -2,14 +2,16 @@
layout: content layout: content
notitle: true notitle: true
--- ---
<h1> <h2>
<div class="flex"> <div class="flex items-end">
{% if page.github %} {% if page.github %}
<img src="https://github.com/{{ page.github }}.png?size=40" alt="mdo" class="rounded-full" width="40" height="40" style="margin:0px"> <div class="mb-1">
<img src="https://github.com/{{ page.github }}.png?size=40" alt="mdo" class="rounded-full" width="40" height="40" style="margin:0px">
</div>
{% endif %} {% endif %}
{{ page.name }} {{ page.name }}
</div> </div>
</h1> </h2>
<div> <div>
{% if page.github %} {% if page.github %}
@ -17,7 +19,12 @@ notitle: true
{% endif %} {% endif %}
{% if page.website %} {% if page.website %}
<a href="{{page.website}}"><span class="badge bg-secondary">Official Website</span></a> <a href="{{page.website}}"><span class="badge bg-secondary">Website</span></a>
{% endif %}
{% assign filtered_team = site.data.team.team | where: 'tag', page.short_name %}
{% if filtered_team and filtered_team.size != 0 %}
<a href="/about/team"><span class="badge bg-lime-600"><span class="fa-solid fa-shield"></span>Team Member</span></a>
{% endif %} {% endif %}
</div> </div>
@ -25,7 +32,7 @@ notitle: true
{{ content }} {{ content }}
</blockquote> </blockquote>
{% assign filtered_posts = site.posts | where: 'publisher', page.short_name %} {% assign filtered_posts = site.posts | where: 'author', page.short_name %}
{% if filtered_posts and filtered_posts.size != 0 %} {% if filtered_posts and filtered_posts.size != 0 %}
<h3>Posts</h3> <h3>Posts</h3>
<ul class="list-unstyled"> <ul class="list-unstyled">
@ -35,7 +42,7 @@ notitle: true
</ul> </ul>
{% endif %} {% endif %}
{% assign filtered_plugins = site.repo | where: 'publisher', page.short_name %} {% assign filtered_plugins = site.repo | where: 'author', page.short_name %}
{% if filtered_plugins and filtered_plugins.size != 0 %} {% if filtered_plugins and filtered_plugins.size != 0 %}
<h3>Plugins</h3> <h3>Plugins</h3>
<ul class="list-unstyled"> <ul class="list-unstyled">

View File

@ -1,6 +1,6 @@
--- ---
name: ShopifyIntegrationPlugin org name: ShopifyIntegrationPlugin org
publisher: matmair author: matmair
website: https://mjmair.com website: https://mjmair.com
github: https://github.com/matmair/ShopifyIntegrationPlugin github: https://github.com/matmair/ShopifyIntegrationPlugin
categories: categories:

33
about/team.html Normal file
View File

@ -0,0 +1,33 @@
---
title: Team
---
{{site.data.team.text}}
<br/>
<h3>Maintainer</h3>
<h4>SchrodingersGat</h4>
<p>Oliver is an Australian EE. He started InvenTree in 2017 and is the maintainer.
<a href="https://github.com/SchrodingersGat" alt="learn more">GitHub</a>
</p>
<h3>Active Team</h3>
{% for item in site.data.team.team %}
<h4>{{ item.tag }}</h4>
<p>{{ item.text }}
<span class="inline-flex">
{% for link in item.links %}
<a href="{{ link.link }}" alt="learn more">{{ link.text }}</a>
{% endfor %}
</span>
</p>
{% endfor %}
<h3>Contributors</h3>
<p>ToDo / Looking for suggestions.</p>
<h3>Disclaimer</h3>
<p>The list is in no way complete and only contains the most active devs when the website was created. If you feel someone is missing feel free to open an issue in the GitHub repo.</p>

View File

@ -1,29 +0,0 @@
---
title: Team
---
InvenTree has had 40+ contributors since the project started in March 2017.
### Maintainer
#### SchrodingersGat
Oliver is an Australian EE. He started InvenTree in 2017 and is the maintainer.
[GitHub](https://github.com/SchrodingersGat)
### Active Team
#### eeintech
Francois is an EE. He is part of the core team and the maintainer of [Ki-nTree](https://github.com/sparkmicro/Ki-nTree).
[GitHub](https://github.com/eeintech)
#### matmair
Matthias is an Austrian developer. He is part of the core team and focuses on `enterprise` enhancement.
[GitHub](https://github.com/matmair)
### Contributors
ToDo / Looking for suggestions.
### Disclaimer
The list is in no way complete and only contains the most active devs when the website was created. If you feel someone is missing feel free to open an issue in the GitHub repo.

10
demo.md
View File

@ -2,7 +2,7 @@
title: InvenTree Demo title: InvenTree Demo
--- ---
Want to take InvenTree for a spin? A working demo of InvenTree is available online at **[https://demo.inventree.org](https://demo.inventree.org)** Want to take InvenTree for a spin? A working demo of InvenTree is available online at <a href="https://demo.inventree.org" class="umami--click--demo">https://demo.inventree.org</a>
### Login Details ### Login Details
@ -10,10 +10,10 @@ Multiple default accounts are provided, as detailed below. Each account is affor
| Username | Password | Description | Login | | Username | Password | Description | Login |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| allaccess | nolimits | View / create / edit all pages and items | [log in](https://demo.inventree.org/accounts/login/?login=allaccess&password=nolimits) | | allaccess | nolimits | View / create / edit all pages and items | <a href="https://demo.inventree.org/accounts/login/?login=allaccess&password=nolimits" class="umami--click--demo-allaccess">log in</a> |
| reader | readonly | Can view all pages but cannot create, edit or delete database records | [log in](https://demo.inventree.org/accounts/login/?login=reader&password=readonly) | | reader | readonly | Can view all pages but cannot create, edit or delete database records | <a href="https://demo.inventree.org/accounts/login/?login=reader&password=readonly" class="umami--click--demo-reader">log in</a> |
| engineer | partsonly | Can manage parts, view stock, but no access to purchase orders or sales orders | [log in](https://demo.inventree.org/accounts/login/?login=engineer&password=partsonly) | | engineer | partsonly | Can manage parts, view stock, but no access to purchase orders or sales orders | <a href="https://demo.inventree.org/accounts/login/?login=engineer&password=partsonly" class="umami--click--demo-engineer">log in</a> |
| admin | inventree | Superuser account, access all areas plus administrator actions | [log in](https://demo.inventree.org/accounts/login/?login=admin&password=inventree) | | admin | inventree | Superuser account, access all areas plus administrator actions | <a href="https://demo.inventree.org/accounts/login/?login=admin&password=inventree" class="umami--click--demo-admin">log in</a> |
### Data Persistence ### Data Persistence

View File

@ -11,6 +11,7 @@ You can read more about the plugin architecture, including information on develo
Add *native printing capabilities* for your network connected printers to the webinterface and apps. There are plugins for: Add *native printing capabilities* for your network connected printers to the webinterface and apps. There are plugins for:
- [Brother QL](https://pypi.org/project/inventree-brother-plugin/) - [Brother QL](https://pypi.org/project/inventree-brother-plugin/)
- [Zebra](https://github.com/SergeoLacruz/inventree-zebra-plugin) - [Zebra](https://github.com/SergeoLacruz/inventree-zebra-plugin)
- [Cups](https://github.com/wolflu05/inventree-cups-plugin)
### Plugin repo ### Plugin repo

2
package-lock.json generated
View File

@ -435,7 +435,6 @@
"dependencies": { "dependencies": {
"anymatch": "~3.1.2", "anymatch": "~3.1.2",
"braces": "~3.0.2", "braces": "~3.0.2",
"fsevents": "~2.3.2",
"glob-parent": "~5.1.2", "glob-parent": "~5.1.2",
"is-binary-path": "~2.1.0", "is-binary-path": "~2.1.0",
"is-glob": "~4.0.1", "is-glob": "~4.0.1",
@ -1306,7 +1305,6 @@
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0" "universalify": "^2.0.0"
}, },
"optionalDependencies": { "optionalDependencies": {