Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ci): adding ci pipelines #32

Open
wants to merge 69 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
e8fcdd9
Update dependencies
lukin Aug 17, 2021
5dad1e2
Added IDP extension
ifeelcream Sep 6, 2021
6079295
Prettier
lukin Sep 6, 2021
b3c3e3c
Merge pull request #1
lukin Sep 6, 2021
69dc820
Update dependencies
lukin Nov 21, 2021
bf38ae6
Update configuration files
lukin Nov 21, 2021
9d13778
Build resources
lukin Nov 21, 2021
8db0ead
Update README.md
lukin Nov 21, 2021
5a07825
Fix username validation
lukin Dec 9, 2021
766a38b
Update dependencies
lukin Dec 13, 2021
3b44fd2
Update target
lukin Dec 13, 2021
4e3f17b
Build resources
lukin Dec 13, 2021
2622c84
Rollback target
lukin Jan 2, 2022
295f5fc
Update dependencies
lukin Jan 2, 2022
54e9c33
Build resources
lukin Jan 2, 2022
4cff8b3
ui(totp): configure and login otp
ronmrcdo Apr 2, 2022
6067b8f
Prettier
lukin Apr 5, 2022
8781594
Merge pull request #9
lukin Apr 5, 2022
fef457a
[link] Remove extra styles
lukin Apr 5, 2022
a195d30
Update alerts.ftl
tombrouwer Apr 20, 2022
4f79746
Update locales.ftl
tombrouwer Apr 20, 2022
b86e947
[alerts] Use break in switch (#11)
lukin Apr 20, 2022
224d737
[locales] Fix HTML tag (#12)
lukin Apr 20, 2022
118d107
Migrate from Snowpack to Vite
lukin Sep 3, 2022
52f9892
Update register.ftl
YoanSimco Sep 18, 2022
f319a25
Merge pull request #19
lukin Sep 25, 2022
2c92c52
[pages] Add Logout Confirm
lukin Sep 25, 2022
5bef95c
Update logout-confirm.ftl
YoanSimco Oct 1, 2022
ad9e375
Apply suggestions to 1 file
YoanSimco Oct 2, 2022
f5490bd
Merge pull request #21
lukin Oct 2, 2022
79b24d2
[icon] Add all providers
lukin Oct 16, 2022
0b16820
implement webauthn and recovery codes from keycloak base
cwildfoerster Nov 8, 2022
8ce6c30
implement missing authenticator selector
cwildfoerster Nov 8, 2022
613f4ff
fix otp setup error due to change in upstream
cwildfoerster Nov 10, 2022
c382739
Merge pull request #24
lukin Nov 13, 2022
1063773
create secondary-small button component
cwildfoerster Nov 16, 2022
55c1704
create secondary-small button component
cwildfoerster Nov 16, 2022
1d93e03
fix missing closing statement
cwildfoerster Nov 16, 2022
c1bbb2b
improve list and image layout
cwildfoerster Nov 16, 2022
2c5c3f0
fix retry error due to missing form id
cwildfoerster Nov 18, 2022
60f8cbc
remove jquery dependency, use vanilla js
cwildfoerster Nov 18, 2022
d8494ca
remove jquery dependency, use vanilla js
cwildfoerster Nov 18, 2022
1af2b22
center align image
cwildfoerster Nov 18, 2022
040a0ce
increase bottom margin on oauth logo
cwildfoerster Nov 18, 2022
2ac06e9
Feat: add slack icon
dorianim Dec 4, 2022
3750aeb
Feat: slack icon
dorianim Dec 4, 2022
9c14af1
Prettier
lukin Dec 17, 2022
ba8d2da
Merge pull request #25
lukin Dec 17, 2022
3d46e76
Update dependencies
lukin Dec 17, 2022
88c09c5
feat(ci): adding ci pipelines
Jan 14, 2023
544023b
Update components
lukin Jan 14, 2023
13d205b
Merge branch 'master' into pr/23
lukin Jan 14, 2023
61935f6
[pages] Update Recovery Authn Code
lukin Jan 14, 2023
e8e7c77
Merge branch 'lukin:master' into feat/ci
verissimor Jan 16, 2023
55f5c25
fix a typo
tobinibot Jan 23, 2023
4825fc2
Merge pull request #33
lukin Jan 28, 2023
ff2280b
Merge branch 'master' into feat/slack-icon
dorianim Feb 2, 2023
4592b02
[providers] Add Slack
lukin Feb 2, 2023
b14d964
Merge pull request #26
lukin Feb 2, 2023
fb53d98
[pages] Update WebAuthn
lukin Feb 4, 2023
475a9ba
Merge branch 'master' into pr/23
lukin Feb 4, 2023
233267b
Merge pull request #23
lukin Feb 9, 2023
c5ab06d
Fix favicon
lukin Mar 3, 2023
f1df034
Add script to create JAR archive
lukin Mar 10, 2023
b622a6d
[pages] Add Error, Login Page Expired, and Terms (#34)
dschemp Mar 19, 2023
d3836c0
[data] Fix WebAuthn Authenticate (#36)
horus Mar 19, 2023
e7d2854
[pages] Add Login Password and Login Username (#38)
Kalissaac Mar 25, 2023
f7d5b2d
[providers] Add Discord (#40)
ATechAdventurer Mar 26, 2023
dd7d40c
Merge branch 'master' into pr/32
lukin Mar 26, 2023
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
18 changes: 18 additions & 0 deletions .github/workflows/ci-pipeline-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: CI Pipeline Push and Pull Request

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

jobs:
build-lib:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- run: npm install
- run: npm run build
31 changes: 31 additions & 0 deletions .github/workflows/ci-pipeline-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: CI Pipeline Release

on:
release:
types: [created]

jobs:
build-lib:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
- run: npm install
- run: npm run build

- name: Zip Release
uses: TheDoctor0/[email protected]
with:
type: 'zip'
filename: 'keywind-release-${{github.ref_name}}.zip'
path: 'theme/keywind'

- name: Upload Release
uses: ncipollo/[email protected]
with:
artifacts: 'keywind-release-${{github.ref_name}}.zip'
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true

5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# build
out/

# dependencies
node_modules/

Expand Down
4 changes: 4 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"printWidth": 100,
"singleQuote": true
}
89 changes: 64 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,48 @@ Keywind is a component-based Keycloak Login Theme built with [Tailwind CSS](http

![Preview](./preview.png)

### Styled Pages

- Error
- Login
- Login Config TOTP
- Login IDP Link Confirm
- Login OAuth Grant
- Login OTP
- Login Page Expired
- Login Password
- Login Recovery Authn Code Config
- Login Recovery Authn Code Input
- Login Reset Password
- Login Update Password
- Login Update Profile
- Login Username
- Logout Confirm
- Register
- Select Authenticator
- Terms and Conditions
- WebAuthn Authenticate
- WebAuthn Error
- WebAuthn Register

### Identity Provider Icons

- Bitbucket
- Discord
- Facebook
- GitHub
- GitLab
- Google
- Instagram
- LinkedIn
- Microsoft
- OpenID
- Red Hat OpenShift
- PayPal
- Slack
- Stack Overflow
- Twitter

## Installation

Keywind has been designed with component-based architecture from the start, and **you can customize as little or as much Keywind as you need**:
Expand All @@ -16,24 +58,17 @@ Keywind has been designed with component-based architecture from the start, and
parent=keywind
```

4. Brand and Customize components with [FreeMaker](https://freemarker.apache.org/docs/dgui_quickstart_template.html)

## Features

### Styled Pages
4. Brand and customize components with [FreeMarker](https://freemarker.apache.org/docs/dgui_quickstart_template.html)

* Login
* Password Reset
* Register
## Customization

## Examples
### Theme

### Color Theme
When you do need to customize a palette, you can configure your colors under the `colors` key in the `theme` section of Tailwind config file:

When you do need to customize a palette, you can configure your colors under the `colors` key in the `theme` section of `tailwind.config.js` file:
`tailwind.config.js`

```js
// tailwind.config.js
module.exports = {
theme: {
extend: {
Expand All @@ -42,32 +77,36 @@ module.exports = {
},
},
},
}
};
```

Read more about Tailwind CSS configuration in the [documentation](https://tailwindcss.com/docs/configuration).

### Primary Button Size
### Components

You can inherit Keywind components in your own theme. For example, to resize the primary button you should create a styled `theme/mytheme/components/button/primary.ftl` file:
You can update Keywind components in your own child theme. For example, create a copy of the `body` component and change the background:

`theme/mytheme/login/components/atoms/body.ftl`

```
<#macro kw component="button" rest...>
<${component}
class="bg-primary-600 flex justify-center px-6 py-3 relative rounded-lg text-md text-white w-full focus:outline-none focus:ring-2 focus:ring-primary-600 focus:ring-offset-2 hover:bg-primary-700"
<#list rest as attrName, attrValue>
${attrName}="${attrValue}"
</#list>
>
<#macro kw>
<body class="bg-primary-100">
<#nested>
</${component}>
</body>
</#macro>
```

### Build
## Build

When you're ready to deploy your own theme, run the build command to generate a static production build.

```bash
yarn build
pnpm install
pnpm build
```

To deploy a theme as an archive, create a JAR archive with the theme resources.

```bash
pnpm build:jar
```
34 changes: 21 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,27 @@
{
"$schema": "https://json.schemastore.org/package",
"name": "keywind",
"scripts": {
"start": "snowpack dev",
"build": "snowpack build"
},
"devDependencies": {
"@snowpack/plugin-postcss": "^1.4.3",
"@tailwindcss/forms": "^0.3.3",
"@types/tailwindcss": "^2.2.1",
"autoprefixer": "^10.2.6",
"cssnano": "^5.0.6",
"postcss": "^8.3.5",
"snowpack": "^3.7.1",
"tailwindcss": "^2.2.4"
"build": "tsc && vite build",
"build:jar": "vite-node scripts/build",
"dev": "vite build --watch",
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
"alpinejs": "^3.2.1"
"alpinejs": "^3.12.0",
"rfc4648": "^1.5.2"
},
"devDependencies": {
"@tailwindcss/forms": "^0.5.3",
"@types/alpinejs": "^3.7.1",
"@types/archiver": "^5.3.1",
"@types/node": "^18.15.0",
"archiver": "^5.3.1",
"autoprefixer": "^10.4.14",
"postcss": "^8.4.21",
"tailwindcss": "^3.2.7",
"typescript": "^4.9.5",
"vite": "^4.1.4",
"vite-node": "^0.29.2"
}
}
Loading