mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-22 19:19:52 +02:00
Merge branch 'dev' into metric
This commit is contained in:
commit
104ddab5a4
785 files changed
+20215
-13081
No files matched your search
@@ -1,39 +0,0 @@
|
||||
import { compareVersions } from 'compare-versions';
|
||||
import { readdirSync } from 'fs';
|
||||
import { parse } from 'path';
|
||||
import { defineConfig } from 'vitepress';
|
||||
import { getSidebar } from 'vitepress-plugin-auto-sidebar';
|
||||
|
||||
export default defineConfig({
|
||||
title: 'BlitzKit',
|
||||
description: '🎉 All-in-one Discord bot for everything World of Tanks Blitz',
|
||||
base: '/blitzkit/',
|
||||
outDir: '../dist/docs',
|
||||
|
||||
themeConfig: {
|
||||
nav: [
|
||||
{ text: 'Home', link: '/' },
|
||||
{ text: 'Guide', link: '/guide/introduction' },
|
||||
],
|
||||
|
||||
sidebar: [
|
||||
...getSidebar({
|
||||
collapsed: false,
|
||||
contentDirs: ['guide', 'legal'],
|
||||
contentRoot: '/docs/',
|
||||
}),
|
||||
|
||||
{
|
||||
text: 'Changelogs',
|
||||
items: readdirSync('./docs/changelogs')
|
||||
.map((file) => parse(file).name)
|
||||
.sort(compareVersions)
|
||||
.map((name) => ({ text: name, link: `/changelogs/${name}.html` })),
|
||||
},
|
||||
],
|
||||
|
||||
socialLinks: [
|
||||
{ icon: 'github', link: 'https://github.com/tresabhi/blitzkit' },
|
||||
],
|
||||
},
|
||||
});
|
||||
@@ -1,16 +0,0 @@
|
||||
// https://vitepress.dev/guide/custom-theme
|
||||
import { h } from 'vue';
|
||||
import Theme from 'vitepress/theme';
|
||||
import './style.css';
|
||||
|
||||
export default {
|
||||
extends: Theme,
|
||||
Layout: () => {
|
||||
return h(Theme.Layout, null, {
|
||||
// https://vitepress.dev/guide/extending-default-theme#layout-slots
|
||||
});
|
||||
},
|
||||
enhanceApp({ app, router, siteData }) {
|
||||
// ...
|
||||
},
|
||||
};
|
||||
@@ -1,90 +0,0 @@
|
||||
/**
|
||||
* Customize default theme styling by overriding CSS variables:
|
||||
* https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
|
||||
*/
|
||||
|
||||
/**
|
||||
* Colors
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
:root {
|
||||
--vp-c-brand: #646cff;
|
||||
--vp-c-brand-light: #747bff;
|
||||
--vp-c-brand-lighter: #9499ff;
|
||||
--vp-c-brand-lightest: #bcc0ff;
|
||||
--vp-c-brand-dark: #535bf2;
|
||||
--vp-c-brand-darker: #454ce1;
|
||||
--vp-c-brand-dimm: rgba(100, 108, 255, 0.08);
|
||||
}
|
||||
|
||||
/**
|
||||
* Component: Button
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
:root {
|
||||
--vp-button-brand-border: var(--vp-c-brand-light);
|
||||
--vp-button-brand-text: var(--vp-c-white);
|
||||
--vp-button-brand-bg: var(--vp-c-brand);
|
||||
--vp-button-brand-hover-border: var(--vp-c-brand-light);
|
||||
--vp-button-brand-hover-text: var(--vp-c-white);
|
||||
--vp-button-brand-hover-bg: var(--vp-c-brand-light);
|
||||
--vp-button-brand-active-border: var(--vp-c-brand-light);
|
||||
--vp-button-brand-active-text: var(--vp-c-white);
|
||||
--vp-button-brand-active-bg: var(--vp-button-brand-bg);
|
||||
}
|
||||
|
||||
/**
|
||||
* Component: Home
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
:root {
|
||||
--vp-home-hero-name-color: transparent;
|
||||
--vp-home-hero-name-background: -webkit-linear-gradient(
|
||||
120deg,
|
||||
#bd34fe 30%,
|
||||
#41d1ff
|
||||
);
|
||||
|
||||
--vp-home-hero-image-background-image: linear-gradient(
|
||||
-45deg,
|
||||
#bd34fe 50%,
|
||||
#47caff 50%
|
||||
);
|
||||
--vp-home-hero-image-filter: blur(40px);
|
||||
}
|
||||
|
||||
@media (min-width: 640px) {
|
||||
:root {
|
||||
--vp-home-hero-image-filter: blur(56px);
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 960px) {
|
||||
:root {
|
||||
--vp-home-hero-image-filter: blur(72px);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Component: Custom Block
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
:root {
|
||||
--vp-custom-block-tip-border: var(--vp-c-brand);
|
||||
--vp-custom-block-tip-text: var(--vp-c-brand-darker);
|
||||
--vp-custom-block-tip-bg: var(--vp-c-brand-dimm);
|
||||
}
|
||||
|
||||
.dark {
|
||||
--vp-custom-block-tip-border: var(--vp-c-brand);
|
||||
--vp-custom-block-tip-text: var(--vp-c-brand-lightest);
|
||||
--vp-custom-block-tip-bg: var(--vp-c-brand-dimm);
|
||||
}
|
||||
|
||||
/**
|
||||
* Component: Algolia
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
.DocSearch {
|
||||
--docsearch-primary-color: var(--vp-c-brand) !important;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
# BlitzKit 1.22.5
|
||||
|
||||
This update only affects the website.
|
||||
|
||||
## Features
|
||||
|
||||
- CDN branch names are now outline
|
||||
- Added an "unaffiliated to Wargaming" note to the footer
|
||||
- Added a warning when viewing deprecated tanks
|
||||
- Added partial support for dynamic armor
|
||||
- The armor behaves properly in both dynamic and static armor modes but the visual 3D model doesn't update as of yet
|
||||
- I'm working on it!
|
||||
- Reworked the hero and meta information section of the tankopedia pages
|
||||
- The grid is now more visible at steeper angles
|
||||
- Re-introduced the "swap" tanks button in the tankopedia
|
||||
- Added an opentest plug at homepage (you'll see what this is soon™)
|
||||
|
||||
## Fixes
|
||||
|
||||
- Titles for a few pages are once again static
|
||||
- Some links that opened in a new tab even though they were BlitzKit links now once again behave properly
|
||||
- Missing page titles for documentation pages now work properly
|
||||
- Toggling equipments through the tank canvas now update the render properly
|
||||
- The sorting feature in tank search properly updates once again
|
||||
- Dragging on the tracks to move them once again renders properly
|
||||
- Correct tier I tanks are now shown in tech trees where deprecated tanks previously occupied the slot
|
||||
- Reward icons once again display properly for archived rating seasons
|
||||
@@ -0,0 +1,21 @@
|
||||
# BlitzKit 1.22.6
|
||||
|
||||
This update only affects the website.
|
||||
|
||||
## Features
|
||||
|
||||
- Added a "cool projects" section at the bottom of the homepage
|
||||
- If you have any other cool projects, feel free to let me know
|
||||
- Added raw terrain coefficients along side the percentage values
|
||||
- The account name is displayed instead of "Wargaming" when logged in
|
||||
- Added an opentest button to the Tankopedia pages
|
||||
|
||||
## Fixes
|
||||
|
||||
- Protobuf files are now loaded more deterministically on both the server and client which resolves one of the issues that caused Error 500
|
||||
- Removed a server-side incompatible method which fixes the other issue that caused Error 500
|
||||
- Shot penetration is now displayed properly on mobile devices again
|
||||
- Center aligned Wargaming login regions buttons on smaller screen sizes
|
||||
- The dynamic armor button is no longer inverted
|
||||
- BlitzKit opentest is not longer promoted on opentest
|
||||
- The settings link in the navbar no longer open in a new tab
|
||||
@@ -0,0 +1,17 @@
|
||||
# BlitzKit 1.23.0
|
||||
|
||||
I rewrote the whole website for performance and lower bandwidth. This update does not affect the bot. If I did my job right, you should not notice a difference.
|
||||
|
||||
## Changes
|
||||
|
||||
- Removed documentation website, all the docs are now available within https://blitzkit.app/
|
||||
- Removed the Rating tool
|
||||
- Removed the ability to log in with Patreon
|
||||
- Removed all ads
|
||||
|
||||
## Technical Changes
|
||||
|
||||
- Converted BlitzKit to a monorepo
|
||||
- The whole website is now static with no server-side rendering
|
||||
- Gotta go fast ⚡
|
||||
- All structural data is now stored in protocol buffers
|
||||
@@ -0,0 +1,12 @@
|
||||
# BlitzKit 1.23.1
|
||||
|
||||
Some critical fixes. This update only affects the website.
|
||||
|
||||
## Features
|
||||
|
||||
- Added a cool new interactive banner to the homepage
|
||||
- This was primary done to reduce load times due to the high-definition image behind the "BlitzKit" heading
|
||||
|
||||
## Fixes
|
||||
|
||||
- The Session tool once again works
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
This release of Blitzkrieg focuses mainly on **performance**. Blitzkrieg now uses **Satori** and **resvg** under the hood to render images resulting in a solid **2x to 8x performance boost** depending on the situation.
|
||||
|
||||
This only applies to `/today` and /stats` as they're the only commands that render an image currently.
|
||||
This only applies to `/today` and `/stats` as they're the only commands that render an image currently.
|
||||
|
||||
We're working further on **performance optimizations**. Our goal is to deliver a message within **3 seconds or less**. We're close and we'll get there!
|
||||
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
---
|
||||
# https://vitepress.dev/reference/default-theme-home-page
|
||||
layout: home
|
||||
|
||||
hero:
|
||||
name: 'BlitzKit'
|
||||
text: Everything Blitz, right in Discord
|
||||
tagline: All-in-one Discord bot for everything World of Tanks Blitz
|
||||
image:
|
||||
src: '/assets/images/hero.png'
|
||||
alt: 'blitzkit'
|
||||
actions:
|
||||
- theme: brand
|
||||
text: Add to Discord Server
|
||||
link: /guide/invite
|
||||
- theme: alt
|
||||
text: Guide
|
||||
link: /guide/introduction
|
||||
|
||||
features:
|
||||
- title: Clean and Efficient UI
|
||||
icon: 🚀
|
||||
details: BlitzKit is where concise meets efficient. Get the information you need in the way you want.
|
||||
- title: Endless Possibilities
|
||||
icon: 🛠
|
||||
details: With endless ways to customize the output, it's guaranteed that you'll always get the information you need.
|
||||
- title: Easy to Use
|
||||
icon: 💻
|
||||
details: Leveraging Discord's, Blitz Stars', and Wargaming's powerful APIS, Blitzkit does all the hard work for you.
|
||||
---
|
||||
@@ -130,6 +130,23 @@ Your consent to this Privacy Policy followed by Your submission of such informat
|
||||
|
||||
The Company will take all steps reasonably necessary to ensure that Your data is treated securely and in accordance with this Privacy Policy and no transfer of Your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of Your data and other personal information.
|
||||
|
||||
### California Consumer Privacy Act (CCPA)
|
||||
|
||||
If you are a California resident, you have specific rights regarding your personal information under the California Consumer Privacy Act (CCPA). This section describes your CCPA rights and explains how to exercise those rights.
|
||||
|
||||
#### Rights under CCPA
|
||||
|
||||
Under CCPA, California residents have the following rights:
|
||||
|
||||
1. Right to Know: You have the right to request that we disclose certain information to you about our collection and use of your personal information over the past 12 months.
|
||||
2. Right to Delete: You have the right to request that we delete any of your personal information that we collected from you and retained, subject to certain exceptions.
|
||||
3. Right to Opt-Out of Sale: You have the right to opt-out of the sale of your personal information. Note that we do not sell personal information as defined by the CCPA.
|
||||
4. Right to Non-Discrimination: You have the right not to be discriminated against for exercising any of your CCPA rights.
|
||||
|
||||
#### Exercising Your CCPA Rights
|
||||
|
||||
To exercise your rights under CCPA and to opt-out of the sale of your personal information, you can click on the "Do not sell my personal information" link in the footer of any page on our website.
|
||||
|
||||
### Delete Your Personal Data
|
||||
|
||||
You have the right to delete or request that We assist in deleting the Personal Data that We have collected about You.
|
||||
@@ -188,4 +205,4 @@ You are advised to review this Privacy Policy periodically for any changes. Chan
|
||||
|
||||
If you have any questions about this Privacy Policy, You can contact us:
|
||||
|
||||
- By visiting this page on our website: [https://discord.gg/nDt7AjGJQH](https://discord.gg/nDt7AjGJQH)
|
||||
- By emailing blitzkriegautomation@gmail.com
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 35 KiB |
@@ -1,99 +0,0 @@
|
||||
# Cedilla Object Notation
|
||||
|
||||
1. JSON compressed as CDON, written directly to disk (a direct 50% reduction).
|
||||
2. CDON further compressed with LZ4 (a clean 90% reduction).
|
||||
3. The raw JSON file as fetched from a random data source.
|
||||
4. CDON decompressed once again to JSON. Note that this file is a little larger than the original JSON file as it contains a lot more decimal places due to float precision (this shouldn't affect the size in memory).
|
||||
|
||||

|
||||
|
||||
FS stands for "Fast String".
|
||||
|
||||
```cpp
|
||||
primary CedillaObjectNotation {
|
||||
utf8"CDON" magic;
|
||||
Header header;
|
||||
primary Body<header.fsFormat> body;
|
||||
}
|
||||
|
||||
Header {
|
||||
uint16 version; // always 1
|
||||
FSFormat fsFormat;
|
||||
StringTable<fsFormat> stringTable;
|
||||
}
|
||||
|
||||
FSFormat enum<uint8> {
|
||||
Format8,
|
||||
Format16,
|
||||
Format32,
|
||||
}
|
||||
|
||||
FSPrimitive<FSFormat fsFormat> match(fsFormat) {
|
||||
Format8: uint8;
|
||||
Format16: uint16;
|
||||
Format32: uint32;
|
||||
}
|
||||
|
||||
StringTable<FSFormat fsFormat> {
|
||||
FSPrimitive<fsFormat> count;
|
||||
String[count] strings;
|
||||
}
|
||||
|
||||
Body<FSFormat fsFormat> {
|
||||
primary Value<fsFormat> object;
|
||||
}
|
||||
|
||||
ValueType enum<uint8> {
|
||||
Null,
|
||||
Boolean,
|
||||
Uint8,
|
||||
Uint16,
|
||||
Uint32,
|
||||
Uint64,
|
||||
Int8,
|
||||
Int16,
|
||||
Int32,
|
||||
Int64,
|
||||
Float32,
|
||||
Float64,
|
||||
String,
|
||||
FS,
|
||||
Array,
|
||||
Object,
|
||||
}
|
||||
|
||||
String {
|
||||
uint32 length;
|
||||
primary utf8<length> value;
|
||||
}
|
||||
|
||||
StringValue Value & { (ValueType.String | ValueType.FS) type }
|
||||
|
||||
Value<FSFormat fsFormat> {
|
||||
ValueType type;
|
||||
match<type> {
|
||||
Boolean: { uint8 value; }
|
||||
Uint8: { uint8 value; }
|
||||
Uint16: { uint16 value; }
|
||||
Uint32: { uint32 value; }
|
||||
Uint64: { uint64 value; }
|
||||
Int8: { int8 value; }
|
||||
Int16: { int16 value; }
|
||||
Int32: { int32 value; }
|
||||
Int64: { int64 value; }
|
||||
Float32: { float32 value; }
|
||||
Float64: { float64 value; }
|
||||
String: { String value; }
|
||||
FS: { FSPrimitive<fsFormat> index; }
|
||||
Array: {
|
||||
uint32 count;
|
||||
Value[count] values;
|
||||
}
|
||||
Object: {
|
||||
uint32 count;
|
||||
StringValue[count] keys;
|
||||
Value[count] values;
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
Reference in new issue
Block a user