Skip to content

Commit

Permalink
Vue 3 version of the ATLAS website with redesigned look
Browse files Browse the repository at this point in the history
  • Loading branch information
lilyjw committed Mar 19, 2024
0 parents commit 3dd7a1b
Show file tree
Hide file tree
Showing 149 changed files with 22,390 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Specify if deploying under a nested public path
# https://vitejs.dev/guide/build.html#public-base-path
VITE_BASE_URL='/'
# Configure names used in the content
VITE_SHORT_NAME='ATLAS'
VITE_MITRE_TITLE='MITRE ATLAS™'
VITE_CONTACT_EMAIL='[email protected]'
# URL of the deployed Navigator instance
# See https://github.com/mitre-attack/attack-navigator for source info
VITE_NAVIGATOR_URL='https://mitre-atlas.github.io/atlas-navigator'
# Used to construct URL to Navigator layer JSON files for case studies
VITE_NAVIGATOR_LAYER_GITHUB_URL='https://raw.githubusercontent.com/mitre-atlas/atlas-navigator-data/main'
15 changes: 15 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/* eslint-env node */
require('@rushstack/eslint-patch/modern-module-resolution')

module.exports = {
root: true,
'extends': [
'plugin:vue/vue3-essential',
'eslint:recommended',
'@vue/eslint-config-typescript',
'@vue/eslint-config-prettier/skip-formatting'
],
parserOptions: {
ecmaVersion: 'latest'
}
}
56 changes: 56 additions & 0 deletions .github/workflows/deploy-github.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: GitHub Pages

on:
push:
branches:
- main
pull_request:

jobs:
deploy:
runs-on: ubuntu-22.04
permissions:
contents: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Configure environment variables
shell: bash
env:
GOOGLE_ANALYTICS_ID: ${{ secrets.GOOGLE_ANALYTICS_ID }}
VITE_OSANO_SCRIPT: ${{ secrets.VITE_OSANO_SCRIPT }}
run: echo -e "VITE_ANALYTICS_ID=$GOOGLE_ANALYTICS_ID\nVITE_OSANO_SCRIPT=$VITE_OSANO_SCRIPT" > .env.production

- name: Install dependencies
run: npm install

- name: Build for production
run: |
export NODE_OPTIONS="--max_old_space_size=4096"
npm run build
# Fix for 404 on refresh issue
cp dist/index.html dist/404.html
- name: deploy
uses: peaceiris/actions-gh-pages@v3
if: ${{ github.ref == 'refs/heads/main' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./dist
28 changes: 28 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
.DS_Store
dist
dist-ssr
coverage
*.local

/cypress/videos/
/cypress/screenshots/

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
37 changes: 37 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
image: node:latest

variables:
GIT_SUBMODULE_STRATEGY: normal

pages:
stage: deploy
cache:
key:
files:
- package-lock.json
prefix: npm
paths:
- node_modules/
script:
# Configure to set Navigator URL, etc.
- echo "VITE_BASE_URL=$CI_PROJECT_NAME" >> .env
- cat .env
- npm run build
# navigate into the build output directory
- cd dist
# fix for 404 on refresh issue
- cp index.html 404.html
- cd ..
- cp -a dist/. public/
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
tags:
- pages

default:
before_script:
# Install and cache dependencies
- npm install --cache .npm --prefer-offline
42 changes: 42 additions & 0 deletions .gitlab/merge_request_templates/Default.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Description

Jira Ticket:

Add Navigator page

## Important Changes

`test.vue`

* List changes here


Notes:

* List notes here

## Testing Recommendations

* [ ] List testing steps here


# Checklists

**Submitter:**

* [ ] This MR is into the correct branch.
* [ ] Comment added to the relevant Jira ticket(s) with a link to this MR.
* [ ] The relevant Jira ticket has been moved to 'In Review'.
* [ ] Post on Slack that the MR is open for review, tagging the reviewer.
* [ ] Code diff has been reviewed (it **does not** contain: additional white space, not applicable code changes, debug statements, etc.).

**Reviewer:**

* [ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose.
* [ ] You have tried to break the code.
* [ ] Tested all recommendations listed in the "Testing Recommendations" section. The application behaves as expected with this MR.

**Final Merger**

* [ ] At least one review/approval have been received on this MR and all checklists have been completed.
* [ ] The relevant Jira ticket has been moved to 'Done.'
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "public/atlas-data"]
path = public/atlas-data
url = ../atlas-data.git
branch = main
Empty file added .nojekyll
Empty file.
8 changes: 8 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"$schema": "https://json.schemastore.org/prettierrc",
"semi": false,
"tabWidth": 2,
"singleQuote": true,
"printWidth": 100,
"trailingComma": "none"
}
155 changes: 155 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# ATLAS Website Changelog

## [4.0.0]() (2024-03-11)

Website redesign

#### Website
- Migrated from Nuxt.js 2 to Vue 3
- Design updates

#### Data
- Updated ATLAS data to [version 4.5.2](https://github.com/mitre-atlas/atlas-data/blob/main/CHANGELOG.md#452-2024-03-11)

## [3.6.1]() (2024-01-12)

#### Website
- Minor mitigations updates
- Updated events and LinkedIn info

#### Data
- Updated ATLAS data to [version 4.5.1](https://github.com/mitre-atlas/atlas-data/blob/main/CHANGELOG.md#451-2024-01-12)

## [3.6.0]() (2023-10-25)

#### Website
- New LLM content and updated mitigations

#### Data
- Updated ATLAS data to [version 4.5.0](https://github.com/mitre-atlas/atlas-data/blob/main/CHANGELOG.md#450-2023-10-25)

## [3.5.0]() (2023-04-12)

#### Website
- Initial mitigations

#### Data
- Updated ATLAS data to [version 4.4.0](https://github.com/mitre-atlas/atlas-data/blob/main/CHANGELOG.md#440-2023-04-12)

## [3.4.0]() (2023-03-01)

#### Website
- Minor fixes

#### Data
- Updated ATLAS data to [version 4.3.0](https://github.com/mitre-atlas/atlas-data/blob/main/CHANGELOG.md#430-2023-02-28)

## [3.3.0]() (2023-01-19)

#### Website
- ATLAS tactics and techniques that are adapted from ATT&CK are denoted with a red &
- Updated events list
- Various fixes

#### Data
- Updated ATLAS data to [version 4.2.0](https://github.com/mitre-atlas/atlas-data/blob/main/CHANGELOG.md#420-2023-01-18)

## [3.2.0]() (2022-10-28)

#### Website
- Supports new case study fields: case study type, reporter, target, and actor
- Added FAQ page in "Resources" navigation menu
- Added "Key Info" button on individual case study pages
- Various fixes and updates

#### Data
- Updated ATLAS data to [version 4.1.0](https://github.com/mitre-atlas/atlas-data/blob/main/CHANGELOG.md#410-2022-10-27)

## [3.1.0]() (2022-07-12)

#### Website
- Supports display of custom data object types and string properties
- Supports display of multiple matrices
- Updated site navigation features with better support for small screens
- Various fixes and updates

#### Data
- Updated ATLAS data to [version 4.0.0](https://github.com/mitre-atlas/atlas-data/blob/main/CHANGELOG.md#400-2022-05-27)

## [3.0.0]() (2022-03-31)

#### Website
- Added case study builder feature
- Added ability to download case studies as Powerpoint files and raw YAML
- Added events list and more ways to get involved on the contact page
- Various fixes and language updates

#### Data
- Updates ATLAS data to [version 3.0.0](https://github.com/mitre-atlas/atlas-data/blob/main/CHANGELOG.md#300-2022-03-23)
- Moved ATLAS data files to their own repositories

## [2.3.2]() (2022-01-04)

#### Data
- Added individual case study YAML files for case study builder use

## [2.3.1]() (2021-11-23)

#### Data
- Fixed Navigator layer files for the 2 new case studies

## [2.3.0]() (2021-10-29)

#### Website
- Added case study examples to technique pages

#### Data
- Updated ATLAS data to [version 2.2.0](https://github.com/mitre-atlas/atlas-data/blob/main/CHANGELOG.md#220-2021-10-29)

## [2.2.2]() (2021-07-28)

#### Data
- Updated ATLAS Navigator layer files for parent technique expansion and relevant tactic highlights

## [2.2.1]() (2021-07-14)

#### Website
- Added buttons on each case study page to view its layer on the ATLAS Navigator

## [2.2.0]() (2021-07-12)

#### Website
- Removed colloquium announcement
- Various fixes

#### Data
- Added ATLAS Navigator layer files to highlight techniques used in each case study

## [2.1.3]() (2021-06-22)

#### Website
- Added contact email
- Fixed sources format

## [2.1.2]() (2021-06-21)

#### Website
- Added analytics
- Various fixes

## [2.1.1]() (2021-06-18)

#### Website
- Added ATLAS Navigator page and CNAME
- Language updates

## [2.1.0]() (2021-06-16)

#### Website
- Added new footer, logos, colloquium announcement
- Updated to privacy policy, terms of use, and license
- Various fixes

## [2.0.0]() (2021-05-13)

Initial GitHub release with ATLAS data [version 2.0.0](https://github.com/mitre-atlas/atlas-data/blob/main/CHANGELOG.md#200-2021-05-13)
14 changes: 14 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

This project makes use of ATT&CK®.
ATT&CK® Terms of Use - https://attack.mitre.org/resources/terms-of-use/
Loading

0 comments on commit 3dd7a1b

Please sign in to comment.