README
CONTRIBUTING
Posts
Inbox
Trash
Contributors
EN
RU
Original screenshots and videos from The Elder Scrolls III: Morrowind. No third-party mods. No color filters. No interface.
The goal of the project is to seek out the hidden beauty and celebrate the visual aesthetics of Morrowind, a computer game from Bethesda Softworks. Most of the content is created using the OpenMW open source engine. Main materials:
If you want to participate in the project, please read the contributing guidelines.
shot
- square screenshot;shot-set
- thematic set of four previously published square screenshots;redrawing
- a drawing based on a previously published screenshot;wallpaper
- rectangular screenshot suitable as desktop wallpaper;wallpaper-v
- vertical screenshot suitable as mobile phone wallpaper;clip
- a square video up to 1 minute long;video
- rectangular video up to 1 hour long.
Inbox items that have successfully passed editing are placed on the shortlist, from where they are gradually taken to create new posts. A new post is selected every day.
The post is published simultaneously on all project accounts that support this type of post. The text of the post includes:
- title;
- description (if any)
- author (if the author is not the project administrator);
- requester (if the post was made by request);
- tags;
- location (if available).
Previously published posts may be published again, without changes, or as part of a different post type.
Information about published data/posts
, proposed data/inbox
and rejected
data/trash
posts is stored by year in YAML
format. The original works, due to their large size, are
represented by links to the store:
external storage, which only the project administrator has access to. Other files:
data/users.yml
- information about project contributors inYAML
format;data/locations.yml
- list of game locations inYAML
format.
For convenient viewing of the project data, any changes in the repository result in regeneration of docs
documents in Markdown
format. All documents are linked for easy navigation between them and for quick creation of
Issues for specific posts.
The assets
folder contains:
assets/previews
- previews of all images and videos that have ever hit the storage inAVIF
format;assets/plugins
- set of auxiliary plugins for shooting;- additional images.
The src
folder contains scripts responsible for working with the repository, storage, and project accounts. You
need to install dependencies before running scripts locally:
npm ci
To work with external services and storage when running locally, create an .env
file in the root of the repository
containing credentials:
INSTAGRAM_ACCESS_TOKEN=
VK_ACCESS_TOKEN=
TELEGRAM_PHONE_NUMBER=
TELEGRAM_SESSION=
TELEGRAM_API_APP_ID=
TELEGRAM_API_APP_HASH=
YOUTUBE_API_KEY=
YANDEX_DISK_STORE_PATH=
YANDEX_DISK_ACCESS_TOKEN=
There is a receiving credentials help document for the project administrator to fill in these variables. Other contributors are limited in their possibilities when running the project locally.
The src/local/maintain.ts
script runs every hour on a schedule, or on any change to the
repository in the main
branch. Manual launch is also possible:
npm run maintain
The sequence of steps is:
- Create issue templates in
.github/ISSUE_TEMPLATE
according to the descriptions insrc/local/github-issue-resolvers
. - Add to
data/posts
posts manually created in project accounts by the administrator. - Import to
data/inbox
new files from thestore:/inbox
added manually by the administrator. - Delete rejected posts to
data/trash
, restore posts from the trash todata/inbox
. - Get reactions to posts in
data/posts
from project accounts. - Create a new post in
data/posts
according to the scenarios described insrc/core/scenarios/posting.ts
. - Publish unpublished posts from
data/posts
to project accounts. - Create missing and delete unnecessary previews in
assets/previews
. - Update documents
docs
.
The script src/local/resolve-github-issue.ts
runs on creating or modifying an
Issue in the Issues section. Issues are the main tool for the administrator
and other contributors to interact with the project. The use of issues is described in the
contributing guidelines.
The src/local/validate.ts
script checks the integrity of data in the data
folder
and store:
storage. Runs manually:
npm run validate
npm run test
Runs all scripts in the src
folder with a filename ending with .test.ts
to check if the code is working
correctly.
npm run release
Checks if there are any changes in the project from the previous release. If there are, it creates a commit with new release, incrementing the version in package.json and updating CHANGELOG.
As the project develops, it is planned to implement:
- support for publishing post types
shot-set
,redrawing
,clip
andvideo
to project accounts; - lists of tags and locations with the number of posts in them;
- adding multiple locations to a single post;
-
,wallpaper
andwallpaper-v
video-v
post types; - support for accessing storage via a local file system;
- Telegram bot for accepting requests
and works; - monthly releases of the archive with works for the previous month;
- project site for quick search of works by author, location, tags, etc.
You can use the parts of the project code for any purpose, but you may not copy the project as a whole. Feel free to use the content of the project for any purpose with the link to the original source and author.