Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
239995a
First site version
ArtemTaras Dec 10, 2025
f407e78
First site version
ArtemTaras Dec 11, 2025
dd81946
[feature] New icons for part "Real life use cases"
ArtemTaras Dec 11, 2025
4312824
[feature] Change icons from download menu and add contact us to footer
ArtemTaras Dec 11, 2025
ff8dd70
[feature] Added russian language and title, description
ArtemTaras Dec 11, 2025
dfe1b95
[feature] Added padding for last 2 elements
ArtemTaras Dec 11, 2025
2e2b9bf
[feature] Change language list
ArtemTaras Dec 11, 2025
395075f
[feature] Alignment tables in mobile version
ArtemTaras Dec 15, 2025
4545e98
[feature] Added burger menu in mobile version
ArtemTaras Dec 15, 2025
9875365
[feature] Added crypto and translated variants
ArtemTaras Dec 19, 2025
96cdb18
[feature] Change site engine on multi html
ArtemTaras Dec 19, 2025
ef37083
Merge remote-tracking branch 'origin/main' into site-experimental
ArtemTaras Dec 19, 2025
284c325
[feature] New version of site
ArtemTaras Dec 19, 2025
efdc348
[feature] Deploy my branch
ArtemTaras Dec 19, 2025
3f2103a
[feature] Deploy my branch
ArtemTaras Dec 19, 2025
38b07f0
[feature] Change version from download
ArtemTaras Dec 20, 2025
8109981
[feature] Change version from download
ArtemTaras Dec 20, 2025
44db4dd
[fix] Fix title, description, headers for ru version
ArtemTaras Dec 22, 2025
19b5bbe
[fix] Delete autoinsert in ru version
ArtemTaras Dec 22, 2025
7bc8741
[fix] Fix system requirements and table content in ru version
ArtemTaras Dec 22, 2025
d67c558
[fix] Fix system requirements
ArtemTaras Dec 22, 2025
f87a7a0
[fix] Downloads flags inside project
ArtemTaras Dec 22, 2025
bc02833
[fix] SEO improve
ArtemTaras Dec 22, 2025
4492c71
[fix] SEO improve
ArtemTaras Dec 22, 2025
77908d5
[feature] Use system theme on first enter
ArtemTaras Dec 22, 2025
c15f4e6
[fix] Fix language bug from first enter
ArtemTaras Dec 22, 2025
50ea2d3
[fix] Some bugs fix
ArtemTaras Dec 22, 2025
035e7db
[feature] Update logo
ArtemTaras Dec 22, 2025
6c0d0f9
[feature] Update logo
ArtemTaras Dec 22, 2025
bcb20a2
[fix] Fix pagination for de and fr langs
ArtemTaras Dec 22, 2025
6dc644d
[fix] Fix logo in tab
ArtemTaras Dec 22, 2025
29d4734
[fix] test
ArtemTaras Dec 22, 2025
660078f
[fix] Update place of burger menu
ArtemTaras Dec 23, 2025
090397b
[fix] Update place of burger menu
ArtemTaras Dec 23, 2025
e5ca014
[fix] Delete from index js, css and assets
ArtemTaras Dec 23, 2025
6385207
[fix] Update pagination of burger menu
ArtemTaras Dec 23, 2025
5a20b6a
[fix] Fix indexing
ArtemTaras Dec 23, 2025
432bf79
[fix] Added point in the last point of features on index link
ArtemTaras Dec 23, 2025
22a576d
[fix] Added point in the last point of features on index link
ArtemTaras Dec 23, 2025
b345471
[fix] Update h1 and h2 headers for russian discovery
ArtemTaras Dec 23, 2025
99cdc07
[fix] Update h1 and h2 headers for russian discovery
ArtemTaras Dec 23, 2025
55ea24c
[fix] Design improve
ArtemTaras Dec 23, 2025
f00e429
[fix] Design improve
ArtemTaras Dec 23, 2025
0949ae3
[fix] Added flags in discovery page
ArtemTaras Dec 23, 2025
c2cfa46
[fix] Added flags in discovery page
ArtemTaras Dec 23, 2025
12eeb8e
[fix] Split js part for module system
ArtemTaras Dec 25, 2025
410b8f2
[fix] Added AI props for robots.txt
ArtemTaras Dec 25, 2025
32ad77a
[fix] Change title
ArtemTaras Dec 25, 2025
91090ef
[fix] Change mechanism language pick from prev variant
ArtemTaras Dec 25, 2025
58b1085
[fix] Change monthly on daily in sitemap
ArtemTaras Dec 25, 2025
d9372d4
[fix] Change ru title
ArtemTaras Dec 25, 2025
4fae305
[fix] Optimized project and split on modules
ArtemTaras Dec 26, 2025
cae20f0
[fix] Fix title for ru discovery
ArtemTaras Dec 26, 2025
61dc1ff
[fix] Visual improve for sitemap
ArtemTaras Dec 26, 2025
4c6284d
[fix] Improve config json for best editing
ArtemTaras Dec 30, 2025
e068aa9
[fix] Update date in sitemap
ArtemTaras Dec 30, 2025
5e0c366
[fix] Update version software
ArtemTaras Jan 13, 2026
09fa37c
[fix] Update ico for GSC
ArtemTaras Jan 20, 2026
d58ba0d
[fix] Update ico for GSC
ArtemTaras Jan 20, 2026
a6092a3
[fix] Fix duplicate html
ArtemTaras Jan 20, 2026
13c26d7
[feature] Added 14 new US matchers
ArtemTaras Jan 22, 2026
fd8237d
[fix] Update icons logic
ArtemTaras Jan 23, 2026
cdfdce5
[fix] Update icons logic
ArtemTaras Jan 23, 2026
e7912e4
[fix] Added slash in redirect pages
ArtemTaras Jan 29, 2026
daf4966
[fix] Fix hrefs errors
ArtemTaras Feb 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 1 addition & 20 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- site-experimental
pull_request:
workflow_dispatch:
repository_dispatch:
Expand All @@ -30,20 +31,6 @@ jobs:
with:
fetch-depth: 0

- name: Checkout angrydata-app docs
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/angrydata-app
path: sources/angrydata-app
fetch-depth: 1

- name: Checkout angrydata-core docs
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/angrydata-core
path: sources/angrydata-core
fetch-depth: 1

- name: Set up Python
uses: actions/setup-python@v5
with:
Expand All @@ -52,12 +39,6 @@ jobs:
- name: Install dependencies
run: pip install --upgrade pip && pip install -r requirements.txt

- name: Aggregate documentation
run: python scripts/sync_docs.py

- name: Translate documentation
run: python scripts/translate_docs.py

- name: Build site
run: mkdocs build --strict

Expand Down
36 changes: 25 additions & 11 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,19 +1,33 @@
# Build artifacts
site/

# Temporary sources pulled during builds
sources/

# Aggregated documentation from upstream repositories
.docs-cache/
docs/angrydata-app/
docs/angrydata-core/
docs/index.md

# Python
__pycache__/
*.pyc
*.pyo
*.pyd
.Python

# Virtual environments
venv/
env/
ENV/

# IDE
.idea/
.vscode/
*.swp
*.swo
*~

# MacOS
# OS
.DS_Store
.idea/
Thumbs.db

# Logs
*.log

# Build markers
.scripts_run_marker

# Note: docs/ folder is required for MkDocs build, do not ignore it
136 changes: 111 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,133 @@
# Angry Data Scanner Docs
# Angry Data Scanner Website

This repository powers the public documentation site for the Angry Data Scanner project. The site
is built with [MkDocs](https://www.mkdocs.org/) and aggregates documentation from two
companion repositories:
This repository contains the source code for the [Angry Data Scanner](https://angryscan.org) website.

- [`angrydata-app`](https://github.com/angryscan/angrydata-app)
- [`angrydata-core`](https://github.com/angryscan/angrydata-core)
## Project Structure

The aggregation happens automatically in CI and whenever you run the helper script locally.
```
.
├── src/ # Source files for the static website
│ ├── assets/ # Images, icons, screenshots
│ ├── css/ # Stylesheets
│ ├── js/ # JavaScript files (i18n, config, components, script)
│ └── *.html # HTML pages
├── static/ # Static files (robots.txt, BingSiteAuth.xml, etc.)
├── docs/ # Minimal MkDocs documentation (required for build)
├── hooks.py # MkDocs build hook (replaces site with src content)
├── mkdocs.yml # MkDocs configuration
└── requirements.txt # Python dependencies
```

## Local development
## Local Development

1. Clone this repository alongside the other documentation sources:
1. Clone this repository:

```bash
git clone https://github.com/angryscan/angryscan.org.git
cd angryscan.org
```

2. Install the documentation dependencies:
2. Install dependencies:

```bash
pip install -r requirements.txt
```

3. Sync the external documentation and start the local development server:
3. Generate HTML pages from templates (optional, done automatically during build):

```bash
# Generate pages for all languages from templates and config.json
python3 generate_html.py
```

This creates pages in `/src/` for all languages (`/ru/`, `/de/`, `/fr/`, `/es/`) using translations from `config.json`.

4. Build the site:

```bash
mkdocs build
```

This will copy files from `src/` and `static/` to `site/` directory, including language-specific pages.

4. Start local development server:

```bash
python scripts/sync_docs.py --clone-repos
python scripts/translate_docs.py
mkdocs serve
```

The documentation from each project is copied verbatim into the built site. No pages authored in this
repository are published—when the site loads, visitors are automatically redirected into the AngryData
App documentation (as the default entry point), and the navigation exposes each upstream project.
Language switching happens through the Material UI selector (Russian, Spanish, and German are generated
from the English originals); the translated markdown files themselves are hidden from the navigation.
To add another language, simply append it to the `i18n.languages` list in `mkdocs.yml`—the helper
scripts discover the configuration automatically.
Or use a simple HTTP server with URL rewrite support:

```bash
python3 dev_server.py
```

This server supports clean URLs (without .html extension):
- `/discovery` → `discovery.html`
- `/features` → `features.html`
- `/ru/discovery` → `ru/discovery.html`
- etc.

Or use a basic HTTP server (without rewrite support):

```bash
cd src && python3 -m http.server 8000
```

## Features

- **Multi-language support**:
- English (root pages: `/`, `/index.html`, etc.)
- Russian with custom translations (`/ru/`)
- German with Google Translate (`/de/`)
- French with Google Translate (`/fr/`)
- Spanish with Google Translate (`/es/`)
- **Analytics**: Yandex Metrika, Google Tag Manager, and Bing verification
- **Modern design**: Responsive, dark/light theme support
- **Static site**: Fast, SEO-friendly static HTML

## Deployment

### Автоматический деплой (GitHub Pages)

Сайт автоматически деплоится на GitHub Pages при каждом push в ветку `main`:

1. **Настройка GitHub Pages** (один раз):
- Перейдите в Settings → Pages
- Source: выберите "GitHub Actions"
- Сохраните настройки

2. **Процесс деплоя**:
- При push в `main` запускается GitHub Actions workflow
- Устанавливаются зависимости (`pip install -r requirements.txt`)
- Запускается сборка (`mkdocs build`)
- `hooks.py` копирует файлы из `src/` и `static/` в `site/`
- Содержимое `site/` деплоится на GitHub Pages
- Сайт доступен по адресу: `https://<username>.github.io/<repository>/` или `https://angryscan.org/`

3. **Ручной запуск деплоя**:
- Перейдите в Actions → Deploy documentation
- Нажмите "Run workflow" → "Run workflow"

### Ручной деплой на сервер

Если нужно задеплоить на другой сервер:

```bash
# 1. Собрать сайт
mkdocs build

# 2. Скопировать содержимое папки site/ на сервер
# Например, через rsync:
rsync -avz --delete site/ user@server:/var/www/html/

# Или через scp:
scp -r site/* user@server:/var/www/html/
```

## Continuous deployment
### Альтернативные варианты хостинга

GitHub Actions builds and deploys the site to GitHub Pages on every push to the default
branch. The workflow fetches the latest documentation from the two upstream repositories,
runs `scripts/sync_docs.py` and `scripts/translate_docs.py`, builds the MkDocs site,
and publishes the resulting static files.
- **Netlify**: подключите репозиторий, укажите build command: `mkdocs build`, publish directory: `site`
- **Vercel**: аналогично Netlify
- **Cloudflare Pages**: подключите репозиторий, укажите build command и output directory
- **Любой статический хостинг**: просто загрузите содержимое папки `site/` после сборки
Loading
Loading