Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
80db086
feat: `Matrix` module ( Fixes #1 )
Aug 11, 2026
8f0c038
feat: `Matrix.ps1` ( Fixes #2, Fixes #8 )
Aug 11, 2026
cbd73f1
feat: `Matrix` build ( Fixes #3 )
Aug 11, 2026
398233f
feat: `Matrix3x2.Points` ( Fixes #4 )
Aug 11, 2026
90f0a52
feat: `Matrix3x2.Points` ( Fixes #4 )
Aug 11, 2026
8038799
feat: `Matrix3x2.CSS` ( Fixes #5 )
Aug 11, 2026
224400f
feat: `Matrix3x2.CSS` ( Fixes #5 )
Aug 11, 2026
137a2f1
feat: `Matrix3x2` ( Fixes #4, Fixes #5 )
Aug 11, 2026
02000ef
feat: `Matrix3x2` ( Fixes #4, Fixes #5 )
Aug 11, 2026
3bc2328
feat: `Matrix4x4.Points ( Fixes #6 )
Aug 11, 2026
1d28c2c
feat: `Matrix4x4.Points ( Fixes #6 )
Aug 11, 2026
35f417a
feat: `Matrix4x4.CSS` ( Fixes #7 )
Aug 11, 2026
6232f48
feat: `Matrix4x4.CSS` ( Fixes #7 )
Aug 11, 2026
d71c503
feat: `Matrix4x4` ( Fixes #6, Fixes #7 )
Aug 11, 2026
5a5ee59
feat: `Matrix4x4` ( Fixes #6, Fixes #7 )
Aug 11, 2026
b825961
feat: `Matrix.ps1` ( Fixes #2, Fixes #8 )
Aug 11, 2026
debff8a
test: `Matrix` tests ( Fixes #9 )
Aug 11, 2026
5a5a17b
test: `Matrix` tests ( Fixes #9 )
Aug 11, 2026
bbdfbaf
docs: `README.md.ps1` ( Fixes #10 )
Aug 11, 2026
f52c921
docs: `README.md.ps1` ( Fixes #10 )
Aug 11, 2026
1581277
docs: `README.md.ps1` ( Fixes #10 )
Aug 11, 2026
86aafa3
docs: `README.md.ps1` ( Fixes #10 )
Aug 11, 2026
dfcbd70
docs: `Matrix.ps1` docs ( Fixes #2 )
Aug 11, 2026
6f8845f
docs: `Matrix.ps1` docs ( Fixes #2 )
Aug 11, 2026
3b8a658
docs: `README.md.ps1` ( Fixes #10 )
Aug 11, 2026
00bce08
docs: `README.md.ps1` ( Fixes #10 )
Aug 11, 2026
f23d189
docs: `README.md.ps1` ( Fixes #10 )
Aug 11, 2026
505e7ad
docs: `README.md.ps1` ( Fixes #10 )
Aug 11, 2026
3e62a51
feat: `Matrix.ps1` ( Fixes #2 )
Aug 11, 2026
4bc3fd4
feat: `Matrix.ps1` ( Fixes #2 )
Aug 11, 2026
9d06be2
feat: `Quarternion` support ( Fixes #11 )
Aug 12, 2026
5fb2472
feat: `Quaternion.CSS` support ( Fixes #11, Fixes #12 )
Aug 12, 2026
4a6109b
feat: `Quaternion.CSS` support ( Fixes #11, Fixes #12 )
Aug 12, 2026
6d5be23
feat: `Quaternion.CSS` support ( Fixes #11, Fixes #12 )
Aug 12, 2026
7d37436
feat: `Quaternion.CSS` support ( Fixes #11, Fixes #12 )
Aug 12, 2026
6b17e16
docs(website): `/css/compatible.html.ps1` ( Fixes #17 )
Aug 15, 2026
5fdd9aa
docs(website): `/css/transform.html.ps1` ( Fixes #18 )
Aug 15, 2026
67148eb
docs(website): `/dotnet/dotnet.html.ps1` ( Fixes #19 )
Aug 15, 2026
82355a0
feat: `deploy.ps1` ( Fixes #22 )
Aug 19, 2026
7faa675
feat: `config.ps1` ( Fixes #23 )
Aug 19, 2026
45eec9d
feat(website): `/_includes/FeatherIcon` ( Fixes #24 )
Aug 19, 2026
84ac6ba
feat(website): `/_includes/Palette` ( Fixes #25 )
Aug 19, 2026
d02ec02
feat(website): `/_includes/CopyCode` ( Fixes #26 )
Aug 19, 2026
c5b1941
feat(website): `/_includes/Sitemap` ( Fixes #27 )
Aug 19, 2026
33d4cb6
feat(website): `deploy.ps1` ( Fixes #22 )
Aug 19, 2026
7d7055a
feat(website): `config.ps1` ( Fixes #23 )
Aug 19, 2026
cedc3fe
style(logo): `Matrix.svg.ps1` ( Fixes #28 )
Aug 19, 2026
f03b37b
style(website): `Matrix.css.ps1` ( Fixes #15 )
Aug 19, 2026
f2fee22
chore: Reorganizing site structure
Aug 19, 2026
73ed3be
docs(website): `/matrix/svg/svg.html.ps1` ( Fixes #21 )
Aug 19, 2026
84364b8
docs(website): `/matrix/powershell/powershell.html.ps1` ( Fixes #20 )
Aug 19, 2026
1751406
docs(website): Adding Additional Subroot
Aug 19, 2026
183b2d2
docs(website): Adding Additional Subroot
Aug 19, 2026
bf427eb
feat(website): `/_includes/Menu` ( Fixes #29 )
Aug 19, 2026
d3cdc9f
feat(website): `/_includes/Menu` ( Fixes #29 )
Aug 19, 2026
1f0d56c
feat(website): `layout.ps1` ( Fixes #16 )
Aug 19, 2026
6614afc
docs(website): `/matrix/html` ( Fixes #30 )
Aug 19, 2026
eb8e323
feat: `Matrix4x4.get_MathML` ( Fixes #31 )
Aug 20, 2026
f9c6807
feat: `Matrix4x4.get_MathML` ( Fixes #31 )
Aug 20, 2026
1ad7082
feat: `Matrix4x4.DefaultDisplay` ( Fixes #32 )
Aug 20, 2026
7d590d8
feat: `Matrix4x4.DefaultDisplay` ( Fixes #32 )
Aug 20, 2026
a6a114d
feat: `Matrix3x2.MathML` ( Fixes #33 )
Aug 20, 2026
c7e193a
feat: `Matrix3x2.MathML` ( Fixes #33 )
Aug 20, 2026
7d5ef4c
feat: `Matrix3x2.DefaultDisplay` ( Fixes #34 )
Aug 20, 2026
d6ec92f
feat: `Matrix3x2.DefaultDisplay` ( Fixes #34 )
Aug 20, 2026
1a39e04
feat: `Matrix4x4.get_HTML` ( Fixes #35 )
Aug 21, 2026
dfe2f8f
feat: `Matrix4x4.get_HTML` ( Fixes #35 )
Aug 21, 2026
7e6e880
feat: `Matrix3x2.get_MathML` ( Fixes #33 )
Aug 21, 2026
980efad
feat: `Matrix3x2.get_Html` ( Fixes #36 )
Aug 21, 2026
fb9f02e
feat: `Matrix3x2.get_Html` ( Fixes #36 )
Aug 21, 2026
be48f1d
feat: Quaternion.get_MathML` ( Fixes #37 )
Aug 21, 2026
a2ee645
feat: Quaternion.get_MathML` ( Fixes #37 )
Aug 21, 2026
076ab8d
feat: Quaternion.get_Html` ( Fixes #38 )
Aug 21, 2026
29f43e3
feat: Quaternion.get_Html` ( Fixes #38 )
Aug 21, 2026
e3444e0
feat: `Matrix3x2.get_MathML` ( Fixes #33 )
Aug 21, 2026
7601f79
feat: `Matrix3x2.get_MathML` ( Fixes #33 )
Aug 21, 2026
0ffc1ae
feat: `Quaternion.get_MathML` ( Fixes #37 )
Aug 21, 2026
29e5f76
feat: `Quaternion.get_MathML` ( Fixes #37 )
Aug 21, 2026
c793ede
feat: `Quaternion.get_MathML` ( Fixes #37 )
Aug 21, 2026
769e1a0
feat: `Quaternion.DefaultDisplay` ( Fixes #39 )
Aug 21, 2026
e1c5350
feat: `Quaternion.DefaultDisplay` ( Fixes #39 )
Aug 21, 2026
fba5d5f
feat(website): `layout.ps1` ( Fixes #16 )
Aug 22, 2026
74cc26e
chore(website): Minor moves and updates
Aug 22, 2026
6106c35
feat(website): `/matrix/mathml/` ( Fixes #40 )
Aug 22, 2026
64af831
Merge branch 'enter-the-matrix' of https://github.com/PoshWeb/Matrix …
Aug 22, 2026
b11e60c
feat(website): `/matrix/mathml/` ( Fixes #40 )
Aug 22, 2026
e93dfc1
feat: `Matrix.ps1` ( Fixes #2 )
Aug 23, 2026
44cd67d
fix(tests): Updating tests to account for rotation flip
Aug 23, 2026
e25ff58
feat(website): `Matrix.html.ps1` ( Fixes #14 )
Aug 23, 2026
ae9377f
feat(website): `Layout.ps1` ( Fixes #16 )
Aug 25, 2026
88e0833
chore(website): Adding Descriptions
Aug 25, 2026
6d34b2d
release: `Matrix 0.1`
Aug 25, 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
496 changes: 496 additions & 0 deletions .github/workflows/build.yml

Large diffs are not rendered by default.

61 changes: 61 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Simple workflow for deploying static content to GitHub Pages
name: deploy

on:
# Runs on pushes targeting the default branch
push:
branches: [$default-branch]
# or manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, and cancel any in-progress deployments if a new one is triggered
concurrency:
group: "pages"
cancel-in-progress: true

jobs:
# GitHub Pages use a single job, named deploy.
deploy:
# By using an environment, we avoid locking
environment:
name: github-pages
# and we can control where it is deployed.
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
# Check out our repository
- name: Checkout
uses: actions/checkout@main
with:
# Using fetch-depth: 0 to ensure we get the full history of the repository
fetch-depth: 0
# Setup GitHub Pages
- name: Setup Pages
uses: actions/configure-pages@main
# To Build Pages in PowerShell, we just call a script
- name: Build Pages
# set the shell to pwsh
shell: pwsh
# and then call any script we would like to build the page.
# By default, this can use the same name as the workflow
# (in this case, just deploy.ps1)
run: . "./deploy.ps1"
# This approach makes it easier to logically organize workflow scripts.
# We will also map the page_url to an environment variable, so our scripts can access it.
env:
page_url: ${{ steps.deployment.outputs.page_url }}
analytics_id: ${{vars.ANALYTICSID}}
- name: Upload artifact
uses: actions/upload-pages-artifact@main
with:
# Upload the contents to the GitHub Pages artifact
path: './'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@main
11 changes: 11 additions & 0 deletions Build/GitHub/Jobs/BuildMatrix.psd1
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@{
"runs-on" = "ubuntu-latest"
if = '${{ success() }}'
steps = @(
@{
name = 'Check out repository'
uses = 'actions/checkout@main'
}
'RunEZOut'
)
}
10 changes: 10 additions & 0 deletions Build/GitHub/Steps/PublishTestResults.psd1
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
@{
name = 'PublishTestResults'
uses = 'actions/upload-artifact@main'
with = @{
name = 'PesterResults'
path = '**.TestResults.xml'
}
if = '${{always()}}'
}

18 changes: 18 additions & 0 deletions Build/Matrix.GitHubWorkflow.PSDevOps.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#requires -Module PSDevOps
param(
$moduleName = $(
$PSScriptRoot | Split-Path | Split-Path -Leaf
)
)
Import-BuildStep -SourcePath (
Join-Path $PSScriptRoot 'GitHub'
) -BuildSystem GitHubWorkflow


Push-Location ($PSScriptRoot | Split-Path)
New-GitHubWorkflow -Name "Build Module" -On Push,
PullRequest,
Demand -Job TestPowerShellOnLinux,
TagReleaseAndPublish, "Build$moduleName" -OutputPath .\.github\workflows\build.yml

Pop-Location
39 changes: 39 additions & 0 deletions Build/Matrix.ezout.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#requires -Module EZOut
# Install-Module EZOut or https://github.com/StartAutomating/EZOut
$myFile = $MyInvocation.MyCommand.ScriptBlock.File
$myModuleName = $MyInvocation.MyCommand.Name -replace '\.ezout.ps1$'
$myRoot = $myFile | Split-Path | Split-Path
Push-Location $myRoot
$formatting = @(
# Add your own Write-FormatView here,
# or put them in a Formatting or Views directory
foreach ($potentialDirectory in 'Formatting','Views','Types') {
Join-Path $myRoot $potentialDirectory |
Get-ChildItem -ea ignore |
Import-FormatView -FilePath {$_.Fullname}
}
)

$destinationRoot = $myRoot

if ($formatting) {
$myFormatFilePath = Join-Path $destinationRoot "$myModuleName.format.ps1xml"
# You can also output to multiple paths by passing a hashtable to -OutputPath.
$formatting | Out-FormatData -Module $MyModuleName -OutputPath $myFormatFilePath
}

$types = @(
# Add your own Write-TypeView statements here
# or declare them in the 'Types' directory
Join-Path $myRoot Types |
Get-Item -ea ignore |
Import-TypeView

)

if ($types) {
$myTypesFilePath = Join-Path $destinationRoot "$myModuleName.types.ps1xml"
# You can also output to multiple paths by passing a hashtable to -OutputPath.
$types | Out-TypeData -OutputPath $myTypesFilePath
}
Pop-Location
37 changes: 37 additions & 0 deletions CHANGELOG.html.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<#
.SYNOPSIS
CHANGELOG
.DESCRIPTION
Matrix CHANGELOG
.NOTES
Renders the CHANGLOG as html, with links to the repo.
#>
param(
[uri]
$RepositoryUrl = $(
if ($env:GITHUB_REPOSITORY) {
"https://github.com/$env:GITHUB_REPOSITORY"
} else {
"https://github.com/PoshWeb/Matrix"
}
)
)

$changelogPath = Join-Path $PSScriptRoot 'CHANGELOG.md'

$changeLog = Get-Content $changelogPath -Raw

[Regex]::Replace(
$changeLog,
'#(?<n>\d+)',
{
param($match)
"[$match]($(
"$repositoryUrl" + '/issues/' + $match.Groups['n'].Value
))"
}
) |
ConvertFrom-Markdown |
Select-Object -ExpandProperty Html


44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Matrix

## Matrix 0.1

* Initial Matrix Module (#1)
* `Matrix.ps1` makes matrices (#2)
* `Matrix` has a build (#3)
* `Matrix` extended types
* `[Numerics.Matrix3x2]`
* `.Points` contains the points in the matrix (#4)
* `.CSS` renders the matrix as CSS (#5)
* `.MathML` renders the matrix as MathML (#33)
* `.Html` renders the matrix as MathML in HTML (#36)
* `DefaultDisplay` limits the number of displayed properties (#34)
* `[Numerics.Matrix4x4]`
* `.Points` contains the points in the matrix (#6)
* `.CSS` renders the matrix as CSS (#7)
* `.MathML` renders the matrix as MathML (#31)
* `.Html` renders the matrix as MathML in HTML (#35)
* `DefaultDisplay` limits the number of displayed properties (#32)
* `[Numerics.Quaternion]`
* `.CSS` renders the matrix as CSS (#12)
* `.MathML` renders a quaternion as MathML (#37)
* `.Html` renders the matrix as MathML in HTML (#38)
* `DefaultDisplay` limits the number of displayed properties (#39)
* `Matrix` aliases provide CSS Compatibility (#8)
* `Matrix` has an autogenerated `README.md.ps1` (#10)
* `Matrix` website demonstrates matrix
* `layout.ps1` lays out pages (#16)
* `deploy.ps1` deploys the site (#22)
* `config.ps1` configures the site (#23)
* `/_includes/`
* `/_includes/FeatherIcon` includes feather icons (#24)
* `/_includes/Palette` includes a palette (#25)
* `/_includes/CopyCode` includes a "copy code" button (#26)
* `/_includes/Sitemap` includes a sitemap (#27)
* `/_includes/Menu` includes a menu (#29)
* `/Matrix.html.ps1` is the site root (#14)
* `/matrix/css`
* `/matrix/css/compatible` shows side by side comparisons (#17)
* `/matrix/css/transform` shows some matrix transform examples (#18)
* `/matrix/dotnet` explains matrices in DotNet (#19)
* `/matrix/svg` shows matrices in SVG (#28)
* `/matrix/powershell` shows matrices in PowerShell (#20)
Loading
Loading