Repository files navigation

SplashKit Manager (SKM)

SplashKit Logo

SplashKit Manager (SKM) is a command-line interface (CLI) and app tool designed for installing, managing, and building projects with the SplashKit SDK. With SKM, you can easily create, compile, and run SplashKit projects, making it a streamlined tool for beginners and experienced developers alike.

splashkit/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

thoth-tech/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

* SplashKit Development in Thoth Tech

Thoth Tech is a people-focused educational technology company within Deakin University's capstone program which provides real-world learning opportunities and allows students to contribute significantly to projects like SplashKit, enhancing its capabilities and resources.

Usage SplashKit

To start a new SplashKit project in C++, follow these steps:

# Navigate to your projects directorycd /code/projects
# Create and navigate to a new project folder
mkdir helloworld
cd helloworld
# Initialize a new SplashKit C++ project
skm new c++
# Compile your project using SKM
skm clang++ *.cpp -o HelloWorld
# Run the compiled program
./HelloWorld

Key Commands

  • skm install: Installs the latest version of SplashKit.
  • skm update: Checks for and installs the latest version of SplashKit if available.
  • skm help: Displays a list of available commands and their usage.
  • skm uninstall: Uninstalls SplashKit Manager.

Full Command List

Project Management and Setup

  • skm new <language>: Initializes a new SplashKit project in the current directory for the specified language (e.g., c++, python).

    • Note: Use skm dotnet new for .NET projects.
  • skm resources: Creates the resources folders used by SplashKit for assets like images, sounds, etc.

Compilers and Environment-Specific Commands

  • skm clang++ <args>: Runs the clang++ (or g++) compiler with the specified arguments and SplashKit settings.

    • Example: skm clang++ program.cpp -o HelloWorld then ./HelloWorld
  • skm g++ <args>: Runs the g++ compiler with SplashKit-specific options and any additional arguments.

  • skm fpc <args>: Runs the Free Pascal compiler with SplashKit-specific options.

  • python3 <args>: Runs Python with SplashKit settings (SplashKit is installed globally for Python, so skm is not needed).

    • Example: python3 program.py
  • skm dotnet <args>: Runs the .NET command line tool with SplashKit-specific settings.

Platform-Specific Commands

  • skm linux: Installs SplashKit for Linux distributions.

    • Example: skm linux install
  • skm macos: Installs SplashKit for macOS.

    • Example: skm macos install

Utility Commands

  • skm global: Sets up SplashKit for global installation, enabling it to work across multiple projects.

  • skm revert: Downgrades to an earlier version of SplashKit.

  • skm fix: Corrects path issues in SplashKit project files, resolving common setup issues.

  • skm help [command]: Displays usage information for skm commands.

    • Examples: skm help, skm help clang++ or skm help python3

Contributor Guide

We welcome contributions to SplashKit Manager! Whether you're reporting an issue, suggesting new features, or submitting code, all contributions help improve SKM. To contribute, please open a pull request or start a discussion in the repository.

License

This software is free to use, copy, modify, and distribute for any purpose, with or without fee. Please ensure the copyright notice and permission are included in all copies.

About

CLI and GUI app for SplashKit

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

SplashKit Manager (SKM)

SplashKit Logo

SplashKit Manager (SKM) is a command-line interface (CLI) and app tool designed for installing, managing, and building projects with the SplashKit SDK. With SKM, you can easily create, compile, and run SplashKit projects, making it a streamlined tool for beginners and experienced developers alike.

splashkit/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

thoth-tech/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

* SplashKit Development in Thoth Tech

Thoth Tech is a people-focused educational technology company within Deakin University's capstone program which provides real-world learning opportunities and allows students to contribute significantly to projects like SplashKit, enhancing its capabilities and resources.

Usage SplashKit

To start a new SplashKit project in C++, follow these steps:

# Navigate to your projects directorycd /code/projects
# Create and navigate to a new project folder
mkdir helloworld
cd helloworld
# Initialize a new SplashKit C++ project
skm new c++
# Compile your project using SKM
skm clang++ *.cpp -o HelloWorld
# Run the compiled program
./HelloWorld

Key Commands

  • skm install: Installs the latest version of SplashKit.
  • skm update: Checks for and installs the latest version of SplashKit if available.
  • skm help: Displays a list of available commands and their usage.
  • skm uninstall: Uninstalls SplashKit Manager.

Full Command List

Project Management and Setup

  • skm new <language>: Initializes a new SplashKit project in the current directory for the specified language (e.g., c++, python).

    • Note: Use skm dotnet new for .NET projects.
  • skm resources: Creates the resources folders used by SplashKit for assets like images, sounds, etc.

Compilers and Environment-Specific Commands

  • skm clang++ <args>: Runs the clang++ (or g++) compiler with the specified arguments and SplashKit settings.

    • Example: skm clang++ program.cpp -o HelloWorld then ./HelloWorld
  • skm g++ <args>: Runs the g++ compiler with SplashKit-specific options and any additional arguments.

  • skm fpc <args>: Runs the Free Pascal compiler with SplashKit-specific options.

  • python3 <args>: Runs Python with SplashKit settings (SplashKit is installed globally for Python, so skm is not needed).

    • Example: python3 program.py
  • skm dotnet <args>: Runs the .NET command line tool with SplashKit-specific settings.

Platform-Specific Commands

  • skm linux: Installs SplashKit for Linux distributions.

    • Example: skm linux install
  • skm macos: Installs SplashKit for macOS.

    • Example: skm macos install

Utility Commands

  • skm global: Sets up SplashKit for global installation, enabling it to work across multiple projects.

  • skm revert: Downgrades to an earlier version of SplashKit.

  • skm fix: Corrects path issues in SplashKit project files, resolving common setup issues.

  • skm help [command]: Displays usage information for skm commands.

    • Examples: skm help, skm help clang++ or skm help python3

Contributor Guide

We welcome contributions to SplashKit Manager! Whether you're reporting an issue, suggesting new features, or submitting code, all contributions help improve SKM. To contribute, please open a pull request or start a discussion in the repository.

License

This software is free to use, copy, modify, and distribute for any purpose, with or without fee. Please ensure the copyright notice and permission are included in all copies.

About

CLI and GUI app for SplashKit

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

SplashKit Manager (SKM)

SplashKit Logo

SplashKit Manager (SKM) is a command-line interface (CLI) and app tool designed for installing, managing, and building projects with the SplashKit SDK. With SKM, you can easily create, compile, and run SplashKit projects, making it a streamlined tool for beginners and experienced developers alike.

splashkit/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

thoth-tech/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

* SplashKit Development in Thoth Tech

Thoth Tech is a people-focused educational technology company within Deakin University's capstone program which provides real-world learning opportunities and allows students to contribute significantly to projects like SplashKit, enhancing its capabilities and resources.

Usage SplashKit

To start a new SplashKit project in C++, follow these steps:

# Navigate to your projects directorycd /code/projects
# Create and navigate to a new project folder
mkdir helloworld
cd helloworld
# Initialize a new SplashKit C++ project
skm new c++
# Compile your project using SKM
skm clang++ *.cpp -o HelloWorld
# Run the compiled program
./HelloWorld

Key Commands

  • skm install: Installs the latest version of SplashKit.
  • skm update: Checks for and installs the latest version of SplashKit if available.
  • skm help: Displays a list of available commands and their usage.
  • skm uninstall: Uninstalls SplashKit Manager.

Full Command List

Project Management and Setup

  • skm new <language>: Initializes a new SplashKit project in the current directory for the specified language (e.g., c++, python).

    • Note: Use skm dotnet new for .NET projects.
  • skm resources: Creates the resources folders used by SplashKit for assets like images, sounds, etc.

Compilers and Environment-Specific Commands

  • skm clang++ <args>: Runs the clang++ (or g++) compiler with the specified arguments and SplashKit settings.

    • Example: skm clang++ program.cpp -o HelloWorld then ./HelloWorld
  • skm g++ <args>: Runs the g++ compiler with SplashKit-specific options and any additional arguments.

  • skm fpc <args>: Runs the Free Pascal compiler with SplashKit-specific options.

  • python3 <args>: Runs Python with SplashKit settings (SplashKit is installed globally for Python, so skm is not needed).

    • Example: python3 program.py
  • skm dotnet <args>: Runs the .NET command line tool with SplashKit-specific settings.

Platform-Specific Commands

  • skm linux: Installs SplashKit for Linux distributions.

    • Example: skm linux install
  • skm macos: Installs SplashKit for macOS.

    • Example: skm macos install

Utility Commands

  • skm global: Sets up SplashKit for global installation, enabling it to work across multiple projects.

  • skm revert: Downgrades to an earlier version of SplashKit.

  • skm fix: Corrects path issues in SplashKit project files, resolving common setup issues.

  • skm help [command]: Displays usage information for skm commands.

    • Examples: skm help, skm help clang++ or skm help python3

Contributor Guide

We welcome contributions to SplashKit Manager! Whether you're reporting an issue, suggesting new features, or submitting code, all contributions help improve SKM. To contribute, please open a pull request or start a discussion in the repository.

License

This software is free to use, copy, modify, and distribute for any purpose, with or without fee. Please ensure the copyright notice and permission are included in all copies.

About

CLI and GUI app for SplashKit

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

SplashKit Manager (SKM)

SplashKit Logo

SplashKit Manager (SKM) is a command-line interface (CLI) and app tool designed for installing, managing, and building projects with the SplashKit SDK. With SKM, you can easily create, compile, and run SplashKit projects, making it a streamlined tool for beginners and experienced developers alike.

splashkit/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

thoth-tech/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

* SplashKit Development in Thoth Tech

Thoth Tech is a people-focused educational technology company within Deakin University's capstone program which provides real-world learning opportunities and allows students to contribute significantly to projects like SplashKit, enhancing its capabilities and resources.

Usage SplashKit

To start a new SplashKit project in C++, follow these steps:

# Navigate to your projects directorycd /code/projects
# Create and navigate to a new project folder
mkdir helloworld
cd helloworld
# Initialize a new SplashKit C++ project
skm new c++
# Compile your project using SKM
skm clang++ *.cpp -o HelloWorld
# Run the compiled program
./HelloWorld

Key Commands

  • skm install: Installs the latest version of SplashKit.
  • skm update: Checks for and installs the latest version of SplashKit if available.
  • skm help: Displays a list of available commands and their usage.
  • skm uninstall: Uninstalls SplashKit Manager.

Full Command List

Project Management and Setup

  • skm new <language>: Initializes a new SplashKit project in the current directory for the specified language (e.g., c++, python).

    • Note: Use skm dotnet new for .NET projects.
  • skm resources: Creates the resources folders used by SplashKit for assets like images, sounds, etc.

Compilers and Environment-Specific Commands

  • skm clang++ <args>: Runs the clang++ (or g++) compiler with the specified arguments and SplashKit settings.

    • Example: skm clang++ program.cpp -o HelloWorld then ./HelloWorld
  • skm g++ <args>: Runs the g++ compiler with SplashKit-specific options and any additional arguments.

  • skm fpc <args>: Runs the Free Pascal compiler with SplashKit-specific options.

  • python3 <args>: Runs Python with SplashKit settings (SplashKit is installed globally for Python, so skm is not needed).

    • Example: python3 program.py
  • skm dotnet <args>: Runs the .NET command line tool with SplashKit-specific settings.

Platform-Specific Commands

  • skm linux: Installs SplashKit for Linux distributions.

    • Example: skm linux install
  • skm macos: Installs SplashKit for macOS.

    • Example: skm macos install

Utility Commands

  • skm global: Sets up SplashKit for global installation, enabling it to work across multiple projects.

  • skm revert: Downgrades to an earlier version of SplashKit.

  • skm fix: Corrects path issues in SplashKit project files, resolving common setup issues.

  • skm help [command]: Displays usage information for skm commands.

    • Examples: skm help, skm help clang++ or skm help python3

Contributor Guide

We welcome contributions to SplashKit Manager! Whether you're reporting an issue, suggesting new features, or submitting code, all contributions help improve SKM. To contribute, please open a pull request or start a discussion in the repository.

License

This software is free to use, copy, modify, and distribute for any purpose, with or without fee. Please ensure the copyright notice and permission are included in all copies.

About

CLI and GUI app for SplashKit

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

SplashKit Manager (SKM)

SplashKit Logo

SplashKit Manager (SKM) is a command-line interface (CLI) and app tool designed for installing, managing, and building projects with the SplashKit SDK. With SKM, you can easily create, compile, and run SplashKit projects, making it a streamlined tool for beginners and experienced developers alike.

splashkit/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

thoth-tech/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

* SplashKit Development in Thoth Tech

Thoth Tech is a people-focused educational technology company within Deakin University's capstone program which provides real-world learning opportunities and allows students to contribute significantly to projects like SplashKit, enhancing its capabilities and resources.

Usage SplashKit

To start a new SplashKit project in C++, follow these steps:

# Navigate to your projects directorycd /code/projects
# Create and navigate to a new project folder
mkdir helloworld
cd helloworld
# Initialize a new SplashKit C++ project
skm new c++
# Compile your project using SKM
skm clang++ *.cpp -o HelloWorld
# Run the compiled program
./HelloWorld

Key Commands

  • skm install: Installs the latest version of SplashKit.
  • skm update: Checks for and installs the latest version of SplashKit if available.
  • skm help: Displays a list of available commands and their usage.
  • skm uninstall: Uninstalls SplashKit Manager.

Full Command List

Project Management and Setup

  • skm new <language>: Initializes a new SplashKit project in the current directory for the specified language (e.g., c++, python).

    • Note: Use skm dotnet new for .NET projects.
  • skm resources: Creates the resources folders used by SplashKit for assets like images, sounds, etc.

Compilers and Environment-Specific Commands

  • skm clang++ <args>: Runs the clang++ (or g++) compiler with the specified arguments and SplashKit settings.

    • Example: skm clang++ program.cpp -o HelloWorld then ./HelloWorld
  • skm g++ <args>: Runs the g++ compiler with SplashKit-specific options and any additional arguments.

  • skm fpc <args>: Runs the Free Pascal compiler with SplashKit-specific options.

  • python3 <args>: Runs Python with SplashKit settings (SplashKit is installed globally for Python, so skm is not needed).

    • Example: python3 program.py
  • skm dotnet <args>: Runs the .NET command line tool with SplashKit-specific settings.

Platform-Specific Commands

  • skm linux: Installs SplashKit for Linux distributions.

    • Example: skm linux install
  • skm macos: Installs SplashKit for macOS.

    • Example: skm macos install

Utility Commands

  • skm global: Sets up SplashKit for global installation, enabling it to work across multiple projects.

  • skm revert: Downgrades to an earlier version of SplashKit.

  • skm fix: Corrects path issues in SplashKit project files, resolving common setup issues.

  • skm help [command]: Displays usage information for skm commands.

    • Examples: skm help, skm help clang++ or skm help python3

Contributor Guide

We welcome contributions to SplashKit Manager! Whether you're reporting an issue, suggesting new features, or submitting code, all contributions help improve SKM. To contribute, please open a pull request or start a discussion in the repository.

License

This software is free to use, copy, modify, and distribute for any purpose, with or without fee. Please ensure the copyright notice and permission are included in all copies.

About

CLI and GUI app for SplashKit

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

SplashKit Manager (SKM)

SplashKit Logo

SplashKit Manager (SKM) is a command-line interface (CLI) and app tool designed for installing, managing, and building projects with the SplashKit SDK. With SKM, you can easily create, compile, and run SplashKit projects, making it a streamlined tool for beginners and experienced developers alike.

splashkit/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

thoth-tech/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

* SplashKit Development in Thoth Tech

Thoth Tech is a people-focused educational technology company within Deakin University's capstone program which provides real-world learning opportunities and allows students to contribute significantly to projects like SplashKit, enhancing its capabilities and resources.

Usage SplashKit

To start a new SplashKit project in C++, follow these steps:

# Navigate to your projects directorycd /code/projects
# Create and navigate to a new project folder
mkdir helloworld
cd helloworld
# Initialize a new SplashKit C++ project
skm new c++
# Compile your project using SKM
skm clang++ *.cpp -o HelloWorld
# Run the compiled program
./HelloWorld

Key Commands

  • skm install: Installs the latest version of SplashKit.
  • skm update: Checks for and installs the latest version of SplashKit if available.
  • skm help: Displays a list of available commands and their usage.
  • skm uninstall: Uninstalls SplashKit Manager.

Full Command List

Project Management and Setup

  • skm new <language>: Initializes a new SplashKit project in the current directory for the specified language (e.g., c++, python).

    • Note: Use skm dotnet new for .NET projects.
  • skm resources: Creates the resources folders used by SplashKit for assets like images, sounds, etc.

Compilers and Environment-Specific Commands

  • skm clang++ <args>: Runs the clang++ (or g++) compiler with the specified arguments and SplashKit settings.

    • Example: skm clang++ program.cpp -o HelloWorld then ./HelloWorld
  • skm g++ <args>: Runs the g++ compiler with SplashKit-specific options and any additional arguments.

  • skm fpc <args>: Runs the Free Pascal compiler with SplashKit-specific options.

  • python3 <args>: Runs Python with SplashKit settings (SplashKit is installed globally for Python, so skm is not needed).

    • Example: python3 program.py
  • skm dotnet <args>: Runs the .NET command line tool with SplashKit-specific settings.

Platform-Specific Commands

  • skm linux: Installs SplashKit for Linux distributions.

    • Example: skm linux install
  • skm macos: Installs SplashKit for macOS.

    • Example: skm macos install

Utility Commands

  • skm global: Sets up SplashKit for global installation, enabling it to work across multiple projects.

  • skm revert: Downgrades to an earlier version of SplashKit.

  • skm fix: Corrects path issues in SplashKit project files, resolving common setup issues.

  • skm help [command]: Displays usage information for skm commands.

    • Examples: skm help, skm help clang++ or skm help python3

Contributor Guide

We welcome contributions to SplashKit Manager! Whether you're reporting an issue, suggesting new features, or submitting code, all contributions help improve SKM. To contribute, please open a pull request or start a discussion in the repository.

License

This software is free to use, copy, modify, and distribute for any purpose, with or without fee. Please ensure the copyright notice and permission are included in all copies.

About

CLI and GUI app for SplashKit

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

SplashKit Manager (SKM)

SplashKit Logo

SplashKit Manager (SKM) is a command-line interface (CLI) and app tool designed for installing, managing, and building projects with the SplashKit SDK. With SKM, you can easily create, compile, and run SplashKit projects, making it a streamlined tool for beginners and experienced developers alike.

splashkit/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

thoth-tech/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

* SplashKit Development in Thoth Tech

Thoth Tech is a people-focused educational technology company within Deakin University's capstone program which provides real-world learning opportunities and allows students to contribute significantly to projects like SplashKit, enhancing its capabilities and resources.

Usage SplashKit

To start a new SplashKit project in C++, follow these steps:

# Navigate to your projects directorycd /code/projects
# Create and navigate to a new project folder
mkdir helloworld
cd helloworld
# Initialize a new SplashKit C++ project
skm new c++
# Compile your project using SKM
skm clang++ *.cpp -o HelloWorld
# Run the compiled program
./HelloWorld

Key Commands

  • skm install: Installs the latest version of SplashKit.
  • skm update: Checks for and installs the latest version of SplashKit if available.
  • skm help: Displays a list of available commands and their usage.
  • skm uninstall: Uninstalls SplashKit Manager.

Full Command List

Project Management and Setup

  • skm new <language>: Initializes a new SplashKit project in the current directory for the specified language (e.g., c++, python).

    • Note: Use skm dotnet new for .NET projects.
  • skm resources: Creates the resources folders used by SplashKit for assets like images, sounds, etc.

Compilers and Environment-Specific Commands

  • skm clang++ <args>: Runs the clang++ (or g++) compiler with the specified arguments and SplashKit settings.

    • Example: skm clang++ program.cpp -o HelloWorld then ./HelloWorld
  • skm g++ <args>: Runs the g++ compiler with SplashKit-specific options and any additional arguments.

  • skm fpc <args>: Runs the Free Pascal compiler with SplashKit-specific options.

  • python3 <args>: Runs Python with SplashKit settings (SplashKit is installed globally for Python, so skm is not needed).

    • Example: python3 program.py
  • skm dotnet <args>: Runs the .NET command line tool with SplashKit-specific settings.

Platform-Specific Commands

  • skm linux: Installs SplashKit for Linux distributions.

    • Example: skm linux install
  • skm macos: Installs SplashKit for macOS.

    • Example: skm macos install

Utility Commands

  • skm global: Sets up SplashKit for global installation, enabling it to work across multiple projects.

  • skm revert: Downgrades to an earlier version of SplashKit.

  • skm fix: Corrects path issues in SplashKit project files, resolving common setup issues.

  • skm help [command]: Displays usage information for skm commands.

    • Examples: skm help, skm help clang++ or skm help python3

Contributor Guide

We welcome contributions to SplashKit Manager! Whether you're reporting an issue, suggesting new features, or submitting code, all contributions help improve SKM. To contribute, please open a pull request or start a discussion in the repository.

License

This software is free to use, copy, modify, and distribute for any purpose, with or without fee. Please ensure the copyright notice and permission are included in all copies.

About

CLI and GUI app for SplashKit

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

SplashKit Manager (SKM)

SplashKit Logo

SplashKit Manager (SKM) is a command-line interface (CLI) and app tool designed for installing, managing, and building projects with the SplashKit SDK. With SKM, you can easily create, compile, and run SplashKit projects, making it a streamlined tool for beginners and experienced developers alike.

splashkit/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

thoth-tech/skm

GitHub contributorsGitHub issuesGitHub pull requestsForksStars

* SplashKit Development in Thoth Tech

Thoth Tech is a people-focused educational technology company within Deakin University's capstone program which provides real-world learning opportunities and allows students to contribute significantly to projects like SplashKit, enhancing its capabilities and resources.

Usage SplashKit

To start a new SplashKit project in C++, follow these steps:

# Navigate to your projects directorycd /code/projects
# Create and navigate to a new project folder
mkdir helloworld
cd helloworld
# Initialize a new SplashKit C++ project
skm new c++
# Compile your project using SKM
skm clang++ *.cpp -o HelloWorld
# Run the compiled program
./HelloWorld

Key Commands

  • skm install: Installs the latest version of SplashKit.
  • skm update: Checks for and installs the latest version of SplashKit if available.
  • skm help: Displays a list of available commands and their usage.
  • skm uninstall: Uninstalls SplashKit Manager.

Full Command List

Project Management and Setup

  • skm new <language>: Initializes a new SplashKit project in the current directory for the specified language (e.g., c++, python).

    • Note: Use skm dotnet new for .NET projects.
  • skm resources: Creates the resources folders used by SplashKit for assets like images, sounds, etc.

Compilers and Environment-Specific Commands

  • skm clang++ <args>: Runs the clang++ (or g++) compiler with the specified arguments and SplashKit settings.

    • Example: skm clang++ program.cpp -o HelloWorld then ./HelloWorld
  • skm g++ <args>: Runs the g++ compiler with SplashKit-specific options and any additional arguments.

  • skm fpc <args>: Runs the Free Pascal compiler with SplashKit-specific options.

  • python3 <args>: Runs Python with SplashKit settings (SplashKit is installed globally for Python, so skm is not needed).

    • Example: python3 program.py
  • skm dotnet <args>: Runs the .NET command line tool with SplashKit-specific settings.

Platform-Specific Commands

  • skm linux: Installs SplashKit for Linux distributions.

    • Example: skm linux install
  • skm macos: Installs SplashKit for macOS.

    • Example: skm macos install

Utility Commands

  • skm global: Sets up SplashKit for global installation, enabling it to work across multiple projects.

  • skm revert: Downgrades to an earlier version of SplashKit.

  • skm fix: Corrects path issues in SplashKit project files, resolving common setup issues.

  • skm help [command]: Displays usage information for skm commands.

    • Examples: skm help, skm help clang++ or skm help python3

Contributor Guide

We welcome contributions to SplashKit Manager! Whether you're reporting an issue, suggesting new features, or submitting code, all contributions help improve SKM. To contribute, please open a pull request or start a discussion in the repository.

License

This software is free to use, copy, modify, and distribute for any purpose, with or without fee. Please ensure the copyright notice and permission are included in all copies.

About

CLI and GUI app for SplashKit

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages