Skip to content

Commit

Permalink
Add cleanpresenter page
Browse files Browse the repository at this point in the history
  • Loading branch information
tomlokhorst committed Apr 26, 2024
1 parent 6917aa6 commit 66413fd
Show file tree
Hide file tree
Showing 56 changed files with 1,027 additions and 0 deletions.
5 changes: 5 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ pushd bezel
mv Output ../dist/bezel
popd

pushd cleanpresenter
. ./build.sh
mv Output ../dist/cleanpresenter
popd

pushd recordkit
. ./build.sh
mv .vitepress/dist ../dist/recordkit
Expand Down
59 changes: 59 additions & 0 deletions cleanpresenter/.github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow 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 one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true

jobs:
# Build job
build:
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
- name: Pull cache
uses: actions/cache@v3
with:
path: .build
key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
- name: Setup Tailwind
run: ./setup-x64.sh
- name: Generate site
run: swift run
- name: Build CSS
run: ./tailwindcss -i Styles/input.css -o Output/styles.css -m
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
with:
path: ./Output

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file added cleanpresenter/Content/.gitkeep
Empty file.
104 changes: 104 additions & 0 deletions cleanpresenter/Package.resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
{
"pins" : [
{
"identity" : "codextended",
"kind" : "remoteSourceControl",
"location" : "https://github.com/johnsundell/codextended.git",
"state" : {
"revision" : "8d7c46dfc9c55240870cf5561d6cefa41e3d7105",
"version" : "0.3.0"
}
},
{
"identity" : "collectionconcurrencykit",
"kind" : "remoteSourceControl",
"location" : "https://github.com/johnsundell/collectionConcurrencyKit.git",
"state" : {
"revision" : "b4f23e24b5a1bff301efc5e70871083ca029ff95",
"version" : "0.2.0"
}
},
{
"identity" : "files",
"kind" : "remoteSourceControl",
"location" : "https://github.com/johnsundell/files.git",
"state" : {
"revision" : "d273b5b7025d386feef79ef6bad7de762e106eaf",
"version" : "4.2.0"
}
},
{
"identity" : "ink",
"kind" : "remoteSourceControl",
"location" : "https://github.com/johnsundell/ink.git",
"state" : {
"revision" : "bcc9f219900a62c4210e6db726035d7f03ae757b",
"version" : "0.6.0"
}
},
{
"identity" : "plot",
"kind" : "remoteSourceControl",
"location" : "https://github.com/johnsundell/plot.git",
"state" : {
"revision" : "271926b4413fe868739d99f5eadcf2bd6cd62fb8",
"version" : "0.14.0"
}
},
{
"identity" : "publish",
"kind" : "remoteSourceControl",
"location" : "https://github.com/johnsundell/publish.git",
"state" : {
"revision" : "1c8ad00d39c985cb5d497153241a2f1b654e0d40",
"version" : "0.9.0"
}
},
{
"identity" : "readingtimepublishplugin",
"kind" : "remoteSourceControl",
"location" : "https://github.com/alexito4/ReadingTimePublishPlugin",
"state" : {
"revision" : "0a0bf141a5b626c2444601cf0ed7b2bfcfdabcdf",
"version" : "0.3.0"
}
},
{
"identity" : "shellout",
"kind" : "remoteSourceControl",
"location" : "https://github.com/johnsundell/shellout.git",
"state" : {
"revision" : "e1577acf2b6e90086d01a6d5e2b8efdaae033568",
"version" : "2.3.0"
}
},
{
"identity" : "splash",
"kind" : "remoteSourceControl",
"location" : "https://github.com/johnsundell/Splash.git",
"state" : {
"revision" : "7f4df436eb78fe64fe2c32c58006e9949fa28ad8",
"version" : "0.16.0"
}
},
{
"identity" : "splashpublishplugin",
"kind" : "remoteSourceControl",
"location" : "https://github.com/johnsundell/splashpublishplugin",
"state" : {
"revision" : "4fe79070f51e288bc8ba31934a3018cbe099d5f7",
"version" : "0.2.0"
}
},
{
"identity" : "sweep",
"kind" : "remoteSourceControl",
"location" : "https://github.com/johnsundell/sweep.git",
"state" : {
"revision" : "801c2878e4c6c5baf32fe132e1f3f3af6f9fd1b0",
"version" : "0.4.0"
}
}
],
"version" : 2
}
28 changes: 28 additions & 0 deletions cleanpresenter/Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// swift-tools-version: 5.7

import PackageDescription

let package = Package(
name: "cleanpresenter.com-website",
defaultLocalization: "en",
platforms: [
.macOS(.v13)
],
dependencies: [
.package(url: "https://github.com/johnsundell/publish.git", from: "0.9.0"),
.package(url: "https://github.com/alexito4/ReadingTimePublishPlugin", from: "0.3.0"),
.package(url: "https://github.com/johnsundell/splashpublishplugin", from: "0.2.0"),
],
targets: [
.executableTarget(
name: "CleanPresenterWebsite",
dependencies: [
.product(name: "Publish", package: "publish"),
.product(name: "ReadingTimePublishPlugin", package: "ReadingTimePublishPlugin"),
.product(name: "SplashPublishPlugin", package: "SplashPublishPlugin"),
]),
.testTarget(
name: "CleanPresenterWebsiteTests",
dependencies: ["CleanPresenterWebsite"]),
]
)
15 changes: 15 additions & 0 deletions cleanpresenter/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# The CleanPresenter website

## Install

Run `./setup-arm64.sh` (or the x64 variant if you're on Intel) to install Tailwind

## Development

Run tailwind locally with `./tailwindcss -i Styles/input.css -o Output/styles.css --watch` from the project folder.

Run the website locally with `./serve.sh` from the project folder, the website will be available at `http://localhost:8000`.

If you make changes you can just run the package either from Xcode with the run button or from the commandline with `swift run`. This will build a fresh version of the site that will be served by the above script.

To develop, open `Package.swift` with a recent version of Xcode, edit code and run
Binary file added cleanpresenter/Resources/favicon-16x16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added cleanpresenter/Resources/favicon-32x32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added cleanpresenter/Resources/favicon.ico
Binary file not shown.
Binary file added cleanpresenter/Resources/images/icon-128.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added cleanpresenter/Resources/images/jaap.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added cleanpresenter/Resources/images/lifestyle-3.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added cleanpresenter/Resources/images/mathijs.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added cleanpresenter/Resources/images/og-main.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions cleanpresenter/Resources/images/q42-logo-white.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions cleanpresenter/Resources/privacy.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<!doctype html>
<title>Privacy Policy - CleanPresenter - Nonstrict B.V.</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<style>
body {
max-width: 45em;
margin: 0 auto;
padding: 0.5em;
}
</style>

<h1>Privacy Policy</h1>
<p><small>Last updated April 12, 2023</small>

<p>This document for CleanPresenter from Nonstrict B.V. describes how and why we might collect, store, use and share ("process") your information when using our applications or services.
<p>This policy applies when you download and use our application CleanPresenter, or any other application of ours that link to this privacy policy.

<h2 id=goal>Goal</h2>
<p>Nonstrict tries to handle your data as carefully as possible. No data is stored, other than for the correct functioning of the application.

<h2 id=data-usage>Data usage</h2>
<p>Your preferences are stored on your devices, they are not shared with Nonstrict or any other third party.

<h2 id=analytics>Analytics</h2>
<p>No data is collected that can be linked to individual users.
<p>No crash reports are collected, other than those collected by Apple.
<p>We collect basic aggregate product interaction data, which is not linked to individual users. This includes, but is not limited to: the number of app launches, the number of presentation sessions, the number of wallpaper changes. No data related to your presentation is collected, only the duration of presentations are collected.

<h2 id=screenrecording>Screen Recording</h2>
<p>CleanPresenter uses the Screen Recording capability of macOS (ScreenCaptureKit).
<p>The screen recording feature is solely used to mirror a window from one display to another display.
<p>The screen recording is not stored to a file, nor is it transmitted to a third-party.

<hr>
<small>Copyright 2023, <a href="https://nonstrict.eu">Nonstrict B.V.</a>
39 changes: 39 additions & 0 deletions cleanpresenter/Resources/terms.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<!doctype html>
<title>Terms - CleanPresenter - Nonstrict B.V.</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<style>
body {
max-width: 45em;
margin: 0 auto;
padding: 0.5em;
}
</style>

<h1>Terms of Use</h1>
<p><small>Last updated April 1, 2023</small>

<p>This document outlines the Terms of Use for CleanPresenter from Nonstrict B.V. for the use of our CleanPresenter or services.
<p>These Terms apply when you download and use our CleanPresenter, CleanPresenter, or any other CleanPresenter of ours that links to these Terms of Use.


<h2 id=general>General</h2>
<p>CleanPresenter is designed to help users give a good looking presentation. The app's performance is dependent on the user's device's hardware and software. Nonstrict make no guarantees about its functionality.

<h2 id=intellectual-property>Intellectual Property</h2>
<p>Nonstrict holds the Intellectual Property and copyright of the software. The copyright of any used Wallpapers belongs to its creators. It is prohibited for the user to infringe upon our Intellectual Property rights.

<h2 id=liability>Liability</h2>
<p>We are not liable for any direct or indirect damages resulting from the usage of the software. Nonstrict does not assume responsibility for the loss of user data.

<p>By installing the CleanPresenter, the user agrees to the following:
<ul>
<li>The use of CleanPresenter is entirely at the expense and risk of the user.
<li>Nonstrict does not guarantee that the app will be free of bugs or other errors.
<li>Nonstrict does not guarantee that the app will be adjusted to correct any errors.
</ul>

<h2 id=changes>Changes</h2>
<p>These terms are subject to change by Nonstrict at any time in its sole discretion.

<hr>
<small>Copyright 2023, <a href="https://nonstrict.eu">Nonstrict B.V.</a>
Binary file added cleanpresenter/Resources/video/comparing.mov
Binary file not shown.
Binary file added cleanpresenter/Resources/video/hero.mov
Binary file not shown.
Binary file added cleanpresenter/Resources/video/wallpapers.mov
Binary file not shown.
12 changes: 12 additions & 0 deletions cleanpresenter/Sources/CleanPresenterWebsite/Theme/CTA.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<div class="relative isolate bg-white">
<div class="absolute inset-x-0 -top-10 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80" aria-hidden="true">
<div class="relative left-[calc(50%-11rem)] aspect-[1155/678] w-[36.125rem] -translate-x-1/2 rotate-[30deg] bg-gradient-to-tr from-[#ff80b5] to-[#9089fc] opacity-30 sm:left-[calc(50%-30rem)] sm:w-[72.1875rem]" style="clip-path: polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)"></div>
</div>
<div class="mx-auto max-w-7xl px-6 py-24 sm:py-32 lg:flex lg:items-center lg:justify-between lg:px-8">
<h2 class="text-3xl font-bold tracking-tight text-gray-900 sm:text-4xl">Get started share single windows.<br>Download the app for free.</h2>
<div class="mt-10 flex items-center gap-x-6 lg:mt-0 lg:flex-shrink-0">
<setapp-badge appId=581 vendorId=374></setapp-badge>
<script type="text/javascript" src="https://developer.setapp.com/setapp-badge/index.js" async></script>
</div>
</div>
</div>
6 changes: 6 additions & 0 deletions cleanpresenter/Sources/CleanPresenterWebsite/Theme/CTA.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import Foundation
import Plot

struct CTA: HTMLFileComponent {
let searchPath = #filePath
}
Loading

0 comments on commit 66413fd

Please sign in to comment.