From 69621428318b3ee05be8c93b765ddd65585188d9 Mon Sep 17 00:00:00 2001 From: beastbybirth Date: Mon, 6 May 2024 21:04:06 +1000 Subject: [PATCH 1/6] Mingw-automated installation script --- .../mingw-automated installation/readme.md | 33 ++++++++++++ .../mingw-automated installation/script1.bash | 46 ++++++++++++++++ .../mingw-automated installation/script2.bash | 52 +++++++++++++++++++ 3 files changed, 131 insertions(+) create mode 100644 docs/Splashkit/Applications/mingw-automated installation/readme.md create mode 100644 docs/Splashkit/Applications/mingw-automated installation/script1.bash create mode 100644 docs/Splashkit/Applications/mingw-automated installation/script2.bash diff --git a/docs/Splashkit/Applications/mingw-automated installation/readme.md b/docs/Splashkit/Applications/mingw-automated installation/readme.md new file mode 100644 index 000000000..641d66f22 --- /dev/null +++ b/docs/Splashkit/Applications/mingw-automated installation/readme.md @@ -0,0 +1,33 @@ +# Installation Script Documentation + +## Overview +This script automates the installation process for SplashKit, .NET, C++ tools, and Visual Studio Code (VS Code) on Windows systems. It ensures a seamless setup of development tools required for software development. +Before [script 2](./script2.bash) i worked on the [script1](./script1.bash) which doesnot work with installing with vs code and .net tools. + +## Script Details +The script is divided into several sections, each responsible for a specific task: + +1. **Update package databases:** Ensures that package databases are up to date before proceeding with installations. +2. **Install required packages:** Installs necessary packages such as git, curl, and unzip. +3. **Install SplashKit:** Downloads and installs SplashKit using the provided installation script. +4. **Install .NET:** Uses the dotnet-install.sh script to download and install .NET SDK. +5. **Install C++ tools:** Installs essential C++ development tools using pacman. +6. **Install VS Code:** Downloads and installs VS Code using the direct download link for the installer executable. +7. **Install VS Code extensions:** Installs essential VS Code extensions for C++ and .NET development. + +## Usage +To use the script, follow these steps: +1. Ensure that you have bash installed on your system. +2. Copy the script to your system or download it. +3. Open a terminal window and navigate to the directory containing the script. +4. Run the script using the command: `bash script2.sh`. +5. Follow the on-screen prompts and instructions to complete the installation process. +6. After installation, restart your terminal for the changes to take effect. + +## Troubleshooting +If you encounter any issues during the installation process, consider the following troubleshooting steps: +- Check your internet connection to ensure that downloads are not being interrupted. +- Verify that you have the necessary permissions to execute the script. +- Ensure that your system meets the minimum requirements for running the installed tools. +- Refer to the documentation of individual tools for troubleshooting specific issues. + diff --git a/docs/Splashkit/Applications/mingw-automated installation/script1.bash b/docs/Splashkit/Applications/mingw-automated installation/script1.bash new file mode 100644 index 000000000..b1287e6db --- /dev/null +++ b/docs/Splashkit/Applications/mingw-automated installation/script1.bash @@ -0,0 +1,46 @@ +#!/bin/bash + +# Define variables +splashkit_url="https://raw.githubusercontent.com/splashkit/skm/master/install-scripts/skm-install.sh" + +# Update package databases +echo "Updating package databases..." +pacman -Syy + +# Install required packages +echo "Installing required packages..." +pacman -S --needed --noconfirm git curl unzip + +# Install SplashKit +echo "Installing SplashKit..." +bash <(curl -s $splashkit_url) +echo 'export PATH=$PATH:~/.splashkit' >> ~/.bashrc +export PATH=$PATH:~/.splashkit +yes | skm windows install +if [ -d ~/.splashkit/global ]; then + echo "Installing SplashKit global" + skm global install +fi + +# Install .NET +echo "Installing .NET..." +curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin +echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc +echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc + +# Install C++ tools +echo "Installing C++ tools..." +pacman -S --needed --noconfirm mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-toolchain + +# Install VS Code +echo "Installing VS Code..." +curl -sSL https://code.visualstudio.com/sha/download?build=stable&os=win32-x64-user -o vscode.zip +unzip vscode.zip -d ~/vscode +echo 'export PATH=$PATH:~/vscode/bin' >> ~/.bashrc + +# Install VS Code extensions +echo "Installing VS Code extensions..." +code --install-extension ms-vscode.cpptools +code --install-extension ms-dotnettools.csharp + +echo "Installation complete. Please restart your terminal for changes to take effect." \ No newline at end of file diff --git a/docs/Splashkit/Applications/mingw-automated installation/script2.bash b/docs/Splashkit/Applications/mingw-automated installation/script2.bash new file mode 100644 index 000000000..a86136bb4 --- /dev/null +++ b/docs/Splashkit/Applications/mingw-automated installation/script2.bash @@ -0,0 +1,52 @@ +```md +#!/bin/bash + +# Define variables +splashkit_url="https://raw.githubusercontent.com/splashkit/skm/master/install-scripts/skm-install.sh" + +# Update package databases +echo "Updating package databases..." +pacman -Syy + +# Install required packages +echo "Installing required packages..." +pacman -S --needed --noconfirm git curl unzip + +# Install SplashKit +echo "Installing SplashKit..." +bash <(curl -s $splashkit_url) +echo 'export PATH=$PATH:~/.splashkit' >> ~/.bashrc +export PATH=$PATH:~/.splashkit +yes | skm windows install +if [ -d ~/.splashkit/global ]; then + echo "Installing SplashKit global" + skm global install +fi + +# Install .NET +echo "Installing .NET..." +curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin +echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc +echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc + +# Install C++ tools +echo "Installing C++ tools..." +pacman -S --needed --noconfirm mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-toolchain + +# download vscode setup and install +# implement it below this +# Download and install VS Code +echo "Installing VS Code..." +curl -L "https://aka.ms/win32-x64-user-stable" -o vscode-installer.exe +cmd.exe /C vscode-installer.exe /silent /mergetasks=!runcode +echo 'export PATH=$PATH:/c/Users/$USER/AppData/Local/Programs/Microsoft\ VS\ Code/bin' >> ~/.bashrc + + + +# Install VS Code extensions +echo "Installing VS Code extensions..." +code --install-extension ms-vscode.cpptools +code --install-extension ms-dotnettools.csharp + +echo "Installation complete. Please restart your terminal for changes to take effect." +``` \ No newline at end of file From c30525373a0827b4da60c7d14419b0b1ae2e80e8 Mon Sep 17 00:00:00 2001 From: beastbybirth Date: Fri, 17 May 2024 00:42:58 +1000 Subject: [PATCH 2/6] Fixed: Script is working, updated readme --- .../mingw-automated installation/readme.md | 34 +++++---- .../mingw-automated installation/script1.bash | 46 ------------ .../mingw-automated installation/script2.bash | 71 +++++++++++++------ 3 files changed, 69 insertions(+), 82 deletions(-) delete mode 100644 docs/Splashkit/Applications/mingw-automated installation/script1.bash diff --git a/docs/Splashkit/Applications/mingw-automated installation/readme.md b/docs/Splashkit/Applications/mingw-automated installation/readme.md index 641d66f22..fde56eb99 100644 --- a/docs/Splashkit/Applications/mingw-automated installation/readme.md +++ b/docs/Splashkit/Applications/mingw-automated installation/readme.md @@ -1,33 +1,39 @@ # Installation Script Documentation ## Overview -This script automates the installation process for SplashKit, .NET, C++ tools, and Visual Studio Code (VS Code) on Windows systems. It ensures a seamless setup of development tools required for software development. -Before [script 2](./script2.bash) i worked on the [script1](./script1.bash) which doesnot work with installing with vs code and .net tools. +This script automates the installation process for SplashKit, .NET, C++ tools, and Visual Studio Code (VS Code) on Windows systems using MSYS2. It ensures a seamless setup of development tools required for software development. ## Script Details The script is divided into several sections, each responsible for a specific task: 1. **Update package databases:** Ensures that package databases are up to date before proceeding with installations. 2. **Install required packages:** Installs necessary packages such as git, curl, and unzip. -3. **Install SplashKit:** Downloads and installs SplashKit using the provided installation script. -4. **Install .NET:** Uses the dotnet-install.sh script to download and install .NET SDK. -5. **Install C++ tools:** Installs essential C++ development tools using pacman. -6. **Install VS Code:** Downloads and installs VS Code using the direct download link for the installer executable. +3. **Install C++ tools:** Installs essential C++ development tools using pacman. +4. **Install .NET SDK:** Downloads and installs the .NET SDK using PowerShell to handle the installation process. +5. **Install VS Code:** Downloads and installs VS Code using PowerShell to handle the installation process. +6. **Install SplashKit:** Downloads and installs SplashKit using the provided installation script. 7. **Install VS Code extensions:** Installs essential VS Code extensions for C++ and .NET development. ## Usage To use the script, follow these steps: -1. Ensure that you have bash installed on your system. -2. Copy the script to your system or download it. -3. Open a terminal window and navigate to the directory containing the script. -4. Run the script using the command: `bash script2.sh`. -5. Follow the on-screen prompts and instructions to complete the installation process. -6. After installation, restart your terminal for the changes to take effect. + +1. Ensure that you have MSYS2 installed on your system. +2. Copy the script to your system or download it. Save it as `install.sh` inside your MSYS2 home directory (`C:/msys/home/{username}/install.sh`). +3. Open a MSYS2 bash terminal window. +4. Navigate to the directory containing the script: + ```bash + cd ~ + ``` +5. Run the script using the command: + ```bash + bash install.sh + ``` +6. Follow the on-screen prompts and instructions to complete the installation process. +7. After installation, restart your terminal for the changes to take effect. ## Troubleshooting If you encounter any issues during the installation process, consider the following troubleshooting steps: - Check your internet connection to ensure that downloads are not being interrupted. - Verify that you have the necessary permissions to execute the script. - Ensure that your system meets the minimum requirements for running the installed tools. -- Refer to the documentation of individual tools for troubleshooting specific issues. - +- Refer to the documentation of individual tools for troubleshooting specific issues. \ No newline at end of file diff --git a/docs/Splashkit/Applications/mingw-automated installation/script1.bash b/docs/Splashkit/Applications/mingw-automated installation/script1.bash deleted file mode 100644 index b1287e6db..000000000 --- a/docs/Splashkit/Applications/mingw-automated installation/script1.bash +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -# Define variables -splashkit_url="https://raw.githubusercontent.com/splashkit/skm/master/install-scripts/skm-install.sh" - -# Update package databases -echo "Updating package databases..." -pacman -Syy - -# Install required packages -echo "Installing required packages..." -pacman -S --needed --noconfirm git curl unzip - -# Install SplashKit -echo "Installing SplashKit..." -bash <(curl -s $splashkit_url) -echo 'export PATH=$PATH:~/.splashkit' >> ~/.bashrc -export PATH=$PATH:~/.splashkit -yes | skm windows install -if [ -d ~/.splashkit/global ]; then - echo "Installing SplashKit global" - skm global install -fi - -# Install .NET -echo "Installing .NET..." -curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin -echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc -echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc - -# Install C++ tools -echo "Installing C++ tools..." -pacman -S --needed --noconfirm mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-toolchain - -# Install VS Code -echo "Installing VS Code..." -curl -sSL https://code.visualstudio.com/sha/download?build=stable&os=win32-x64-user -o vscode.zip -unzip vscode.zip -d ~/vscode -echo 'export PATH=$PATH:~/vscode/bin' >> ~/.bashrc - -# Install VS Code extensions -echo "Installing VS Code extensions..." -code --install-extension ms-vscode.cpptools -code --install-extension ms-dotnettools.csharp - -echo "Installation complete. Please restart your terminal for changes to take effect." \ No newline at end of file diff --git a/docs/Splashkit/Applications/mingw-automated installation/script2.bash b/docs/Splashkit/Applications/mingw-automated installation/script2.bash index a86136bb4..9876abdd7 100644 --- a/docs/Splashkit/Applications/mingw-automated installation/script2.bash +++ b/docs/Splashkit/Applications/mingw-automated installation/script2.bash @@ -1,8 +1,9 @@ -```md #!/bin/bash # Define variables splashkit_url="https://raw.githubusercontent.com/splashkit/skm/master/install-scripts/skm-install.sh" +dotnet_sdk_url="https://download.visualstudio.microsoft.com/download/pr/90486d8a-fb5a-41be-bfe4-ad292c06153f/6673965085e00f5b305bbaa0b931cc96/dotnet-sdk-8.0.300-win-x64.exe" +vscode_installer_url="https://aka.ms/win32-x64-user-stable" # Update package databases echo "Updating package databases..." @@ -12,41 +13,67 @@ pacman -Syy echo "Installing required packages..." pacman -S --needed --noconfirm git curl unzip +# Install C++ tools (before SplashKit) +echo "Installing C++ tools..." +pacman -S --needed --noconfirm mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-toolchain + +# Download .NET SDK Installer +echo "Downloading .NET SDK installer..." +curl -L $dotnet_sdk_url -o dotnet-sdk-installer.exe + +# Run .NET SDK Installer using PowerShell +echo "Installing .NET SDK..." +powershell.exe -Command "Start-Process dotnet-sdk-installer.exe -ArgumentList '/quiet /norestart' -Wait" +if [ $? -ne 0 ]; then + echo ".NET SDK installation failed. Please try installing it manually." + exit 1 +fi + +# Check if .NET SDK is installed +if ! command -v dotnet &> /dev/null +then + echo ".NET SDK installation failed or .NET SDK is not in the PATH. Please check the installation and try again." + exit 1 +fi + +# Download VS Code Installer +echo "Downloading Visual Studio Code installer..." +curl -L $vscode_installer_url -o vscode-installer.exe + +# Run VS Code Installer using PowerShell +echo "Installing Visual Studio Code..." +powershell.exe -Command "Start-Process vscode-installer.exe -ArgumentList '/silent /mergetasks=!runcode' -Wait" +if [ $? -ne 0 ]; then + echo "Visual Studio Code installation failed. Please try installing it manually." + exit 1 +fi + +# Check if VS Code is installed +if ! command -v code &> /dev/null +then + echo "Visual Studio Code installation failed or VS Code is not in the PATH. Please check the installation and try again." + exit 1 +fi + # Install SplashKit echo "Installing SplashKit..." bash <(curl -s $splashkit_url) echo 'export PATH=$PATH:~/.splashkit' >> ~/.bashrc export PATH=$PATH:~/.splashkit -yes | skm windows install if [ -d ~/.splashkit/global ]; then echo "Installing SplashKit global" skm global install fi -# Install .NET -echo "Installing .NET..." -curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin +# Add .NET environment variables echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc -# Install C++ tools -echo "Installing C++ tools..." -pacman -S --needed --noconfirm mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-toolchain - -# download vscode setup and install -# implement it below this -# Download and install VS Code -echo "Installing VS Code..." -curl -L "https://aka.ms/win32-x64-user-stable" -o vscode-installer.exe -cmd.exe /C vscode-installer.exe /silent /mergetasks=!runcode -echo 'export PATH=$PATH:/c/Users/$USER/AppData/Local/Programs/Microsoft\ VS\ Code/bin' >> ~/.bashrc - - - # Install VS Code extensions echo "Installing VS Code extensions..." -code --install-extension ms-vscode.cpptools +code --install-extension ms-vscode.cpptools-extension-pack code --install-extension ms-dotnettools.csharp +code --install-extension ms-dotnettools.csdevkit +code --install-extension ms-dotnettools.vscodeintellicode-csharp -echo "Installation complete. Please restart your terminal for changes to take effect." -``` \ No newline at end of file +echo "Installation complete. Please restart your terminal for changes to take effect." \ No newline at end of file From 19cb65e8e81e1d6064829cc0dcb5b1ed062a9c3c Mon Sep 17 00:00:00 2001 From: beastbybirth Date: Wed, 22 May 2024 01:05:49 +1000 Subject: [PATCH 3/6] Research files updates --- ...Detecting Operating System through MSYS.md | 33 +++++++ .../Drawing Shapes with fill_circle.md | 62 ++++++++++++ ...sual Studio Code (VSCode) through MSYS2.md | 95 +++++++++++++++++++ .../Installing dotnet Report through API.md | 51 ++++++++++ 4 files changed, 241 insertions(+) create mode 100644 src/content/docs/products/splashkit/documentation/expansions/Detecting Operating System through MSYS.md create mode 100644 src/content/docs/products/splashkit/documentation/expansions/Drawing Shapes with fill_circle.md create mode 100644 src/content/docs/products/splashkit/documentation/expansions/Installing Visual Studio Code (VSCode) through MSYS2.md create mode 100644 src/content/docs/products/splashkit/documentation/expansions/Installing dotnet Report through API.md diff --git a/src/content/docs/products/splashkit/documentation/expansions/Detecting Operating System through MSYS.md b/src/content/docs/products/splashkit/documentation/expansions/Detecting Operating System through MSYS.md new file mode 100644 index 000000000..db1f4e12b --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/expansions/Detecting Operating System through MSYS.md @@ -0,0 +1,33 @@ +# Detecting Operating System through MSYS + +MSYS, or Minimal SYStem, is a Windows software distribution and development platform that offers package management, a bash shell, and a number of other tools and libraries in a manner reminiscent of Unix. It is often used in conjunction with MinGW (Minimalist GNU for Windows) to create native Windows applications using the GNU toolchain. + +## Using Environment Variables + +One common method for detecting the operating system is to leverage pre-defined environment variables that contain information about the system. MSYS provides a variable called `$OSTYPE`, which holds a string that identifies the operating system type. By checking the value of this variable, scripts can determine whether they are running on Windows, Linux, macOS, or another supported platform. + +## Utilizing System Commands + +Another approach involves using system commands that provide information about the current operating system. The `uname` command, for example, can print various details about the system, including the operating system name. By parsing the output of this command, scripts can identify the specific operating system and take appropriate actions. + +## Advantages and Limitations + +Detecting the operating system through MSYS offers several advantages: + +1. **Consistent Development Experience:** By using MSYS, developers can work in a familiar Unix-like environment, even on Windows, ensuring a consistent development experience across platforms. + +2. **Portability:** Scripts that detect the operating system through MSYS can be easily ported to other Unix-like environments, as they rely on standard bash features and commands. + +3. **Integration with MinGW:** MSYS is often used in conjunction with MinGW, allowing developers to create native Windows applications using the GNU toolchain. + +However, there are also some limitations to consider: + +1. **Limited to MSYS Environment:** The techniques for detecting the operating system are specific to the MSYS environment and may not work in other Windows environments, such as PowerShell or the native Command Prompt. + +2. **Potential Compatibility Issues:** While MSYS aims to provide a Unix-like environment, there may be compatibility issues with certain Windows-specific tools or libraries. + +3. **Learning Curve:** Developers who are unfamiliar with Unix-like environments or MSYS may face a steeper learning curve when using these techniques. + +## Conclusion + +Detecting the operating system through MSYS is a valuable skill for developers working in a Unix-like environment on Windows. By leveraging environment variables, system commands, and other techniques, scripts can identify the underlying operating system and adapt their behavior accordingly. While there are some limitations to consider, the ability to work in a consistent development environment across platforms makes MSYS a powerful tool for cross-platform development. diff --git a/src/content/docs/products/splashkit/documentation/expansions/Drawing Shapes with fill_circle.md b/src/content/docs/products/splashkit/documentation/expansions/Drawing Shapes with fill_circle.md new file mode 100644 index 000000000..d52cd366b --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/expansions/Drawing Shapes with fill_circle.md @@ -0,0 +1,62 @@ +# Drawing Shapes with fill_circle: + +## Introduction + +In the vibrant realm of graphic design and game development, the circle stands as a timeless geometric entity, offering endless possibilities for creative expression. Within the rich ecosystem of SplashKit, a robust library tailored for 2D game development and graphical applications, the `fill_circle` function emerges as a pivotal tool for effortlessly rendering filled circles. This expansive research report endeavors to provide an exhaustive exploration of the `fill_circle` function, delving into its multifaceted utility, intricate parameters, practical implementations, and advanced strategies for leveraging circular shapes within SplashKit projects. + +## Purpose and Utility + +At its essence, the `fill_circle` function embodies the quintessential functionality required to draw filled circles onto the active window in SplashKit. By abstracting the complexities of graphical rendering, `fill_circle` empowers developers to streamline the process of circle creation, thereby enabling them to focus their efforts on conceptualizing and implementing engaging visual content. Whether employed to depict characters, props, environmental elements, or dynamic visual effects, `fill_circle` serves as a cornerstone for shaping the aesthetic appeal and immersive qualities of SplashKit applications. + +## Parameters and Significance + +### 1. color (color) + +The `color` parameter serves as the primary determinant of the hue and transparency of the filled circle to be rendered. Developers can select from an extensive palette of predefined color constants or craft custom colors using RGB values, thereby affording them unparalleled flexibility in tailoring the visual appearance of the circle. The choice of color not only influences the aesthetic appeal of the circle but also conveys nuanced semantic information, facilitating effective communication and visual storytelling within SplashKit projects. + +### 2. x (double) + +The `x` parameter governs the horizontal positioning of the center of the circle within the coordinate system of the active window. By manipulating the `x` coordinate, developers can precisely control the lateral placement of the circle along the horizontal axis, thereby facilitating seamless integration into the broader graphical context. Whether aligning with other graphical elements or responding to user interactions, the `x` parameter plays a pivotal role in shaping the spatial arrangement of circles within SplashKit applications. + +### 3. y (double) + +Similarly, the `y` parameter dictates the vertical positioning of the circle's center relative to the coordinate system of the active window. By adjusting the `y` coordinate, developers can finely tune the vertical placement of the circle within the graphical environment, enabling them to orchestrate visually compelling compositions with ease. Whether situated atop other graphical layers or nestled within dynamic scenes, the `y` parameter affords developers unparalleled control over the vertical alignment of circles in SplashKit projects. + +### 4. radius (double) + +The `radius` parameter exerts influence over the size and scale of the circle by defining the distance from its center to any point on its circumference. Developers can modulate the `radius` to create circles of varying sizes, ranging from diminutive dots to expansive orbs, thereby imbuing their SplashKit applications with visual diversity and expressive richness. The `radius` parameter serves as a cornerstone for sculpting the form and structure of circles within SplashKit projects, enabling developers to craft captivating visual experiences that resonate with audiences. + +## Practical Implementations + +### Example 1: Drawing a Singular Circle + +```c++ +fill_circle(color_red, 200, 200, 50); +``` + +In this rudimentary example, a solitary filled circle is drawn onto the active window, with a vibrant red hue and a radius of 50 pixels. Serving as a foundational graphical element, this circle anchors the visual composition of the application, laying the groundwork for more intricate visual designs and interactions. + +### Example 2: Creating a Multitude of Circles + +```c++ +fill_circle(color_blue, 300, 100, 75); +fill_circle(color_green, 400, 300, 100); +``` + +Here, multiple filled circles of distinct colors and sizes are rendered onto the active window, each contributing to the overarching visual narrative of the application. By incorporating an array of circles, developers can craft dynamic and visually captivating scenes within their SplashKit projects, fostering engagement and immersion among users. + +### Example 3: Dynamic Circle Generation + +```c++ +mouse_x = get_mouse_x(); +mouse_y = get_mouse_y(); +circle_radius = 30; + +fill_circle(color(0, 1, 0), mouse_x, mouse_y, circle_radius); +``` + +This interactive example enables users to dynamically generate green filled circles by clicking within the application window. By responding to user input in real-time, developers can create immersive and engaging experiences that foster interaction and exploration, enhancing the overall user experience within SplashKit applications. + +## Conclusion + +In summation, the `fill_circle` function in SplashKit represents a versatile and indispensable tool for drawing circular shapes in graphical applications and game development projects. By mastering its parameters, experimenting with practical examples, and exploring advanced techniques, developers can harness the full potential of `fill_circle` to create visually stunning and immersive visual content. Whether employed to depict characters, environments, or visual effects, `fill_circle` remains a cornerstone of SplashKit development, enabling developers to bring their creative visions to life with precision and elegance. As SplashKit continues to evolve and innovate, the `fill_circle` function stands as a testament to the enduring relevance and utility of circular \ No newline at end of file diff --git a/src/content/docs/products/splashkit/documentation/expansions/Installing Visual Studio Code (VSCode) through MSYS2.md b/src/content/docs/products/splashkit/documentation/expansions/Installing Visual Studio Code (VSCode) through MSYS2.md new file mode 100644 index 000000000..52861cbc3 --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/expansions/Installing Visual Studio Code (VSCode) through MSYS2.md @@ -0,0 +1,95 @@ +# Installing Visual Studio Code (VSCode) through MSYS2 + +Visual Studio Code (VSCode) is a popular and powerful code editor developed by Microsoft. While it is primarily designed for Windows, Linux, and macOS, it can also be installed and used on Windows through MSYS2, a collection of tools and libraries that provide a Unix-like environment for Windows. + +## Understanding MSYS2 + +MSYS2 is a software distribution and building platform for Windows, providing a Unix-like environment with a bash shell, a package manager (pacman), and a collection of tools and libraries. It is particularly useful for developers who prefer working in a Unix-like environment or need to build and run Unix-based applications on Windows. + +MSYS2 includes MinGW, a minimalist development environment that allows you to use the GNU Compiler Collection (GCC) and other GNU tools to create native Windows applications. This makes it an ideal choice for installing and using VSCode, which is built on top of Electron, a framework that uses Node.js and Chromium. + +## Prerequisites + +Before proceeding with the installation, ensure that you have the following prerequisites: + +1. **MSYS2:** Install MSYS2 on your Windows system. You can download the installer from the [official MSYS2 website](https://www.msys2.org/). + +2. **Updated Package Databases:** After installing MSYS2, open the MSYS2 MinGW 64-bit terminal and run the following command to update the package databases: + + ``` + pacman -Syu + ``` + + This command will update the core package databases and install any necessary updates. + +## Installing VSCode through MSYS2 + +Follow these steps to install VSCode through MSYS2: + +1. **Install Dependencies:** In the MSYS2 MinGW 64-bit terminal, install the required dependencies by running the following command: + + ``` + pacman -S --needed base-devel mingw-w64-x86_64-toolchain + ``` + + This command will install the base development tools and the MinGW toolchain, which are necessary for building and running VSCode. + +2. **Install Node.js:** VSCode is built on top of Electron, which requires Node.js. Install Node.js by running the following command: + + ``` + pacman -S mingw-w64-x86_64-nodejs + ``` + +3. **Install Git:** Git is a version control system used by VSCode for various purposes, such as managing extensions and updates. Install Git by running the following command: + + ``` + pacman -S git + ``` + +4. **Install VSCode:** Finally, install VSCode by running the following command: + + ``` + pacman -S code + ``` + + This command will download and install the latest version of VSCode from the MSYS2 repository. + +5. **Launch VSCode:** After the installation is complete, you can launch VSCode by running the following command in the MSYS2 MinGW 64-bit terminal: + + ``` + code + ``` + + Alternatively, you can search for "Visual Studio Code" in the Windows Start menu and launch it from there. + +## Configuring VSCode with MSYS2 + +Once VSCode is installed and launched, you may need to configure it to work seamlessly with MSYS2. Here are a few steps to consider: + +1. **Set the Integrated Terminal:** VSCode has an integrated terminal that can be configured to use the MSYS2 bash shell. To do this, go to File > Preferences > Settings (or press Ctrl+,) and search for "terminal.integrated.shell.windows". Set the value to the path of your MSYS2 bash shell (e.g., "C:\msys64\usr\bin\bash.exe"). + +2. **Configure Build Tasks:** If you plan to use VSCode for building and compiling projects, you may need to configure the build tasks to use the MSYS2 environment. This can be done by creating a `tasks.json` file in the `.vscode` folder of your project and specifying the appropriate commands and environment variables. + +3. **Install Extensions:** VSCode has a rich ecosystem of extensions that can enhance your development experience. You can install extensions directly from the VSCode Marketplace or through the MSYS2 package manager. For example, to install the C/C++ extension, run the following command in the MSYS2 MinGW 64-bit terminal: + + ``` + pacman -S mingw-w64-x86_64-code-cpp + ``` + +## Advantages and Limitations + +Installing VSCode through MSYS2 offers several advantages: + +- **Unix-like Environment:** Developers who are more comfortable working in a Unix-like environment can benefit from the familiar tools and utilities provided by MSYS2. +- **Consistent Development Experience:** By using MSYS2, you can ensure a consistent development experience across different platforms, as MSYS2 provides a Unix-like environment on Windows. +- **Access to MSYS2 Packages:** MSYS2 offers a vast collection of packages that can be easily installed and integrated with VSCode, enhancing its functionality and capabilities. + +However, there are also some limitations to consider: + +- **Performance:** Running VSCode through MSYS2 may introduce some performance overhead, as it adds an additional layer of abstraction. +- **Compatibility Issues:** While MSYS2 aims to provide a Unix-like environment, there may be compatibility issues with certain Windows-specific tools or libraries. +- **Learning Curve:** Developers who are unfamiliar with Unix-like environments or MSYS2 may face a steeper learning curve when using VSCode through MSYS2. + +## Conclusion + +Installing Visual Studio Code (VSCode) through MSYS2 on Windows provides developers with a powerful code editor in a familiar Unix-like environment. By following the steps outlined in this report, you can successfully install and configure VSCode to work seamlessly with MSYS2, taking advantage of its rich ecosystem of tools, libraries, and extensions. While there are some limitations to consider, the benefits of a consistent development experience and access to MSYS2 packages make this approach a viable option for developers who prefer working in a Unix-like environment on Windows. diff --git a/src/content/docs/products/splashkit/documentation/expansions/Installing dotnet Report through API.md b/src/content/docs/products/splashkit/documentation/expansions/Installing dotnet Report through API.md new file mode 100644 index 000000000..ec3f7af4d --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/expansions/Installing dotnet Report through API.md @@ -0,0 +1,51 @@ +# Installing dotnet Report through API + +dotnet Report is a powerful reporting and analytics platform that allows developers to seamlessly integrate reporting capabilities into their applications. While the platform offers various installation methods, such as Docker, GitHub, and NuGet packages, it also provides an option to install and integrate dotnet Report directly through an API. + +## Understanding the API Installation Process + +The API installation process for dotnet Report involves leveraging the platform's RESTful API endpoints to programmatically install and configure the reporting solution within an existing application. This approach is particularly useful for developers who prefer a more automated and streamlined integration process or for scenarios where manual installation is not feasible or desired. + +### Prerequisites + +Before proceeding with the API installation, ensure that you have the following prerequisites in place: + +1. **API Credentials:** Obtain the necessary API credentials, including the account API token, data connect API token, and private API token, from the dotnet Report online portal. These credentials are required to authenticate and authorize the API requests. + +2. **Development Environment:** Set up a development environment with the appropriate tools and frameworks to interact with the dotnet Report API. This may include an Integrated Development Environment (IDE), programming language, and any necessary libraries or packages for making HTTP requests. + +3. **Application Context:** Have a clear understanding of the application context in which you want to integrate dotnet Report. This includes the target platform, framework, and any specific requirements or constraints. + +### Installation Steps + +The API installation process typically involves the following steps: + +1. **Authentication:** Authenticate with the dotnet Report API using the provided API credentials. This step is crucial to ensure that you have the necessary permissions to access and interact with the API endpoints. + +2. **Configuration:** Configure the dotnet Report installation by sending API requests to set up the desired reporting environment. This may include specifying the deployment mode (e.g., standalone or embedded), configuring data sources, and defining report templates or dashboards. + +3. **Integration:** Integrate the dotnet Report components into your application by making API calls to retrieve and render reports, dashboards, or other reporting artifacts. This step may involve embedding the reporting functionality into your application's user interface or exposing it as a separate service. + +4. **Customization:** Customize the reporting experience by leveraging the dotnet Report API to apply branding, implement access controls, or extend the functionality with additional features or integrations. + +### Advantages and Limitations + +Installing dotnet Report through the API offers several advantages: + +- **Automation:** A more efficient and repeatable installation procedure can be achieved by automating the API installation process and integrating it into current deployment pipelines or continuous integration/continuous deployment (CI/CD) workflows. + +- **Programmatic Control:** Developers have programmatic control over the installation and configuration process, allowing for greater flexibility and customization based on specific application requirements. + +- **Scalability:** The API installation approach can be particularly beneficial for scenarios that require scaling or deploying dotnet Report across multiple environments or instances. + +However, there are also some limitations to consider: + +- **Learning Curve:** Developers need to familiarize themselves with the dotnet Report API and its documentation, which may introduce a learning curve, especially for those new to the platform. + +- **Complexity:** Depending on the application's requirements and the desired level of customization, the API installation process may become more complex, requiring additional development effort. + +- **Maintenance:** As with any API-based integration, ongoing maintenance and updates to the dotnet Report API may require corresponding updates to the integration code within the application. + +## Conclusion + +Installing dotnet Report through the API provides developers with a programmatic and automated approach to integrating reporting capabilities into their applications. While this method offers advantages such as automation, programmatic control, and scalability, it also introduces a learning curve and potential complexity. Developers should carefully evaluate their specific requirements and weigh the pros and cons of the API installation approach against other installation methods offered by dotnet Report. From b8d070b305e44c288c3cea3a6f051eece57b92a0 Mon Sep 17 00:00:00 2001 From: beastbybirth Date: Wed, 22 May 2024 04:41:37 +1000 Subject: [PATCH 4/6] changes done in documentation --- .../Drawing Shapes with fill_circle.md | 62 ------------------- .../expansions/Understanding MinGW.md | 55 ++++++++++++++++ 2 files changed, 55 insertions(+), 62 deletions(-) delete mode 100644 src/content/docs/products/splashkit/documentation/expansions/Drawing Shapes with fill_circle.md create mode 100644 src/content/docs/products/splashkit/documentation/expansions/Understanding MinGW.md diff --git a/src/content/docs/products/splashkit/documentation/expansions/Drawing Shapes with fill_circle.md b/src/content/docs/products/splashkit/documentation/expansions/Drawing Shapes with fill_circle.md deleted file mode 100644 index d52cd366b..000000000 --- a/src/content/docs/products/splashkit/documentation/expansions/Drawing Shapes with fill_circle.md +++ /dev/null @@ -1,62 +0,0 @@ -# Drawing Shapes with fill_circle: - -## Introduction - -In the vibrant realm of graphic design and game development, the circle stands as a timeless geometric entity, offering endless possibilities for creative expression. Within the rich ecosystem of SplashKit, a robust library tailored for 2D game development and graphical applications, the `fill_circle` function emerges as a pivotal tool for effortlessly rendering filled circles. This expansive research report endeavors to provide an exhaustive exploration of the `fill_circle` function, delving into its multifaceted utility, intricate parameters, practical implementations, and advanced strategies for leveraging circular shapes within SplashKit projects. - -## Purpose and Utility - -At its essence, the `fill_circle` function embodies the quintessential functionality required to draw filled circles onto the active window in SplashKit. By abstracting the complexities of graphical rendering, `fill_circle` empowers developers to streamline the process of circle creation, thereby enabling them to focus their efforts on conceptualizing and implementing engaging visual content. Whether employed to depict characters, props, environmental elements, or dynamic visual effects, `fill_circle` serves as a cornerstone for shaping the aesthetic appeal and immersive qualities of SplashKit applications. - -## Parameters and Significance - -### 1. color (color) - -The `color` parameter serves as the primary determinant of the hue and transparency of the filled circle to be rendered. Developers can select from an extensive palette of predefined color constants or craft custom colors using RGB values, thereby affording them unparalleled flexibility in tailoring the visual appearance of the circle. The choice of color not only influences the aesthetic appeal of the circle but also conveys nuanced semantic information, facilitating effective communication and visual storytelling within SplashKit projects. - -### 2. x (double) - -The `x` parameter governs the horizontal positioning of the center of the circle within the coordinate system of the active window. By manipulating the `x` coordinate, developers can precisely control the lateral placement of the circle along the horizontal axis, thereby facilitating seamless integration into the broader graphical context. Whether aligning with other graphical elements or responding to user interactions, the `x` parameter plays a pivotal role in shaping the spatial arrangement of circles within SplashKit applications. - -### 3. y (double) - -Similarly, the `y` parameter dictates the vertical positioning of the circle's center relative to the coordinate system of the active window. By adjusting the `y` coordinate, developers can finely tune the vertical placement of the circle within the graphical environment, enabling them to orchestrate visually compelling compositions with ease. Whether situated atop other graphical layers or nestled within dynamic scenes, the `y` parameter affords developers unparalleled control over the vertical alignment of circles in SplashKit projects. - -### 4. radius (double) - -The `radius` parameter exerts influence over the size and scale of the circle by defining the distance from its center to any point on its circumference. Developers can modulate the `radius` to create circles of varying sizes, ranging from diminutive dots to expansive orbs, thereby imbuing their SplashKit applications with visual diversity and expressive richness. The `radius` parameter serves as a cornerstone for sculpting the form and structure of circles within SplashKit projects, enabling developers to craft captivating visual experiences that resonate with audiences. - -## Practical Implementations - -### Example 1: Drawing a Singular Circle - -```c++ -fill_circle(color_red, 200, 200, 50); -``` - -In this rudimentary example, a solitary filled circle is drawn onto the active window, with a vibrant red hue and a radius of 50 pixels. Serving as a foundational graphical element, this circle anchors the visual composition of the application, laying the groundwork for more intricate visual designs and interactions. - -### Example 2: Creating a Multitude of Circles - -```c++ -fill_circle(color_blue, 300, 100, 75); -fill_circle(color_green, 400, 300, 100); -``` - -Here, multiple filled circles of distinct colors and sizes are rendered onto the active window, each contributing to the overarching visual narrative of the application. By incorporating an array of circles, developers can craft dynamic and visually captivating scenes within their SplashKit projects, fostering engagement and immersion among users. - -### Example 3: Dynamic Circle Generation - -```c++ -mouse_x = get_mouse_x(); -mouse_y = get_mouse_y(); -circle_radius = 30; - -fill_circle(color(0, 1, 0), mouse_x, mouse_y, circle_radius); -``` - -This interactive example enables users to dynamically generate green filled circles by clicking within the application window. By responding to user input in real-time, developers can create immersive and engaging experiences that foster interaction and exploration, enhancing the overall user experience within SplashKit applications. - -## Conclusion - -In summation, the `fill_circle` function in SplashKit represents a versatile and indispensable tool for drawing circular shapes in graphical applications and game development projects. By mastering its parameters, experimenting with practical examples, and exploring advanced techniques, developers can harness the full potential of `fill_circle` to create visually stunning and immersive visual content. Whether employed to depict characters, environments, or visual effects, `fill_circle` remains a cornerstone of SplashKit development, enabling developers to bring their creative visions to life with precision and elegance. As SplashKit continues to evolve and innovate, the `fill_circle` function stands as a testament to the enduring relevance and utility of circular \ No newline at end of file diff --git a/src/content/docs/products/splashkit/documentation/expansions/Understanding MinGW.md b/src/content/docs/products/splashkit/documentation/expansions/Understanding MinGW.md new file mode 100644 index 000000000..7f9af003b --- /dev/null +++ b/src/content/docs/products/splashkit/documentation/expansions/Understanding MinGW.md @@ -0,0 +1,55 @@ +# Understanding MinGW + +Using the GNU Compiler Collection (GCC) and other tools from the GNU project, developers can construct native Windows applications with MinGW (Minimalist GNU for Windows), a lightweight and open-source development environment. The purpose of this paper is to give readers a thorough grasp of MinGW's operation and components. + +## Introduction + +MinGW is a collection of free software tools that provide a minimalist development environment for creating applications on Windows without the need for a full-fledged integrated development environment (IDE) like Visual Studio. It offers a command-line interface and a set of Unix-like utilities, allowing developers to work in a familiar environment while targeting the Windows platform. + +## Components + +MinGW consists of several key components that work together to facilitate the development process: + +1. **GCC Compiler:** A collection of compilers for several programming languages, such as C, C++, Fortran, and others, is called the GNU Compiler Collection (GCC). It is in charge of converting executable binaries from source code. + +2. **GNU Binutils:** This package includes essential tools for working with object files, such as linkers, assemblers, and other utilities. These tools are crucial for combining object files and libraries into executable programs. + +3. **MinGW Runtime:** MinGW provides a minimal set of runtime libraries that are required for executing programs compiled with MinGW. These libraries provide functionality similar to the Microsoft Visual C++ Runtime Libraries but are designed to be lightweight and compatible with the GNU toolchain. + +4. **MSYS:** MSYS (Minimal SYStem) is a Unix-like shell environment that provides a command-line interface and various Unix utilities for MinGW. It allows developers to use familiar Unix commands and tools within the Windows environment, facilitating a smoother transition for those accustomed to Unix-based systems. + +## Workflow + +The typical workflow when using MinGW to develop applications involves the following steps: + +1. **Writing Source Code:** Developers write their program's source code in a text editor or an integrated development environment (IDE) that supports MinGW. + +2. **Compiling:** The GCC compiler from the MinGW toolchain is used to compile the source code into object files. The compiler translates the high-level programming language into machine-readable code. + +3. **Linking:** After compiling, the linker from the GNU Binutils package combines the object files with the necessary libraries (including the MinGW runtime libraries) to create an executable binary file. + +4. **Running:** The resulting executable binary can be run directly on Windows without the need for additional runtime environments or libraries (apart from the MinGW runtime libraries). + +## Advantages and Use Cases + +MinGW offers several advantages over other development environments: + +1. **Lightweight and Portable:** MinGW provides a minimalist and portable development environment, making it suitable for developers who prefer working with command-line tools or who want to create applications without the overhead of a full-fledged IDE. + +2. **Cross-Platform Development:** While MinGW targets the Windows platform, the underlying GNU toolchain is cross-platform, allowing developers to write code that can be compiled and run on multiple operating systems with minimal modifications. + +3. **Open-Source and Free:** MinGW is an open-source project, which means that it is freely available and can be modified and distributed according to the terms of its license. + +4. **Compatibility with Existing Tools:** MinGW integrates well with existing tools and libraries from the GNU project, providing developers with a wide range of resources and utilities to leverage in their projects. + +MinGW is widely used in various scenarios, including: + +- Development of small to medium-sized applications +- Porting Unix-based applications to Windows +- Teaching and learning programming in academic environments +- Embedded systems development +- Open-source projects targeting the Windows platform + +## Conclusion + +MinGW is a powerful and versatile development environment that provides a lightweight and efficient way to create native Windows applications using the GNU toolchain. By understanding its components and workflow, developers can leverage the benefits of MinGW and take advantage of its cross-platform capabilities, open-source nature, and compatibility with existing GNU tools and libraries. Whether for personal projects, academic purposes, or professional development, MinGW offers a robust and flexible solution for Windows application development. \ No newline at end of file From 41ba538223af593743c8930c821bf773d051b923 Mon Sep 17 00:00:00 2001 From: beastbybirth2 Date: Sat, 25 May 2024 11:43:34 +0530 Subject: [PATCH 5/6] Fixed: lint errors and reinstallation of vs code and dotnet fixed --- .../mingw-automated installation/readme.md | 41 ++++-- ...splashkit-automated-installation-msys2.sh} | 60 +++++---- ...Detecting Operating System through MSYS.md | 41 ++++-- ...sual Studio Code (VSCode) through MSYS2.md | 127 +++++++++++------- .../Installing dotnet Report through API.md | 72 +++++++--- .../expansions/Understanding MinGW.md | 65 ++++++--- 6 files changed, 278 insertions(+), 128 deletions(-) rename docs/Splashkit/Applications/mingw-automated installation/{script2.bash => splashkit-automated-installation-msys2.sh} (55%) diff --git a/docs/Splashkit/Applications/mingw-automated installation/readme.md b/docs/Splashkit/Applications/mingw-automated installation/readme.md index fde56eb99..8f0e2d81e 100644 --- a/docs/Splashkit/Applications/mingw-automated installation/readme.md +++ b/docs/Splashkit/Applications/mingw-automated installation/readme.md @@ -1,39 +1,52 @@ # Installation Script Documentation -## Overview -This script automates the installation process for SplashKit, .NET, C++ tools, and Visual Studio Code (VS Code) on Windows systems using MSYS2. It ensures a seamless setup of development tools required for software development. +## Purpose + +This script automates the installation process for SplashKit, .net, C++ tools, and Visual Studio +Code (VS Code) on Windows systems using MSYS2. It ensures a seamless setup of development tools +required for software development. ## Script Details + The script is divided into several sections, each responsible for a specific task: -1. **Update package databases:** Ensures that package databases are up to date before proceeding with installations. +1. **Update package databases:** Ensures that package databases are up to date before proceeding + with installations. 2. **Install required packages:** Installs necessary packages such as git, curl, and unzip. -3. **Install C++ tools:** Installs essential C++ development tools using pacman. -4. **Install .NET SDK:** Downloads and installs the .NET SDK using PowerShell to handle the installation process. -5. **Install VS Code:** Downloads and installs VS Code using PowerShell to handle the installation process. +3. **Install C++ tools:** Installs essential C++ development tools using `pacman`. +4. **Install .net SDK:** Downloads and installs the .net SDK using PowerShell to handle the + installation process. +5. **Install VS Code:** Downloads and installs VS Code using PowerShell to handle the installation + process. 6. **Install SplashKit:** Downloads and installs SplashKit using the provided installation script. -7. **Install VS Code extensions:** Installs essential VS Code extensions for C++ and .NET development. +7. **Install VS Code extensions:** Installs essential VS Code extensions for C++ and .net + development. ## Usage + To use the script, follow these steps: 1. Ensure that you have MSYS2 installed on your system. -2. Copy the script to your system or download it. Save it as `install.sh` inside your MSYS2 home directory (`C:/msys/home/{username}/install.sh`). -3. Open a MSYS2 bash terminal window. -4. Navigate to the directory containing the script: - ```bash +2. Copy the script to your system or download it. Save it as `install.sh` inside your MSYS2 home + directory (`C:/msys64/home/{username}/install.sh`). +3. Open a MINGW64 bash terminal window. +4. Go to the directory containing the script: + ```shell cd ~ ``` 5. Run the script using the command: - ```bash + ```shell bash install.sh ``` 6. Follow the on-screen prompts and instructions to complete the installation process. 7. After installation, restart your terminal for the changes to take effect. ## Troubleshooting -If you encounter any issues during the installation process, consider the following troubleshooting steps: + +If you encounter any issues during the installation process, consider the following troubleshooting +steps: + - Check your internet connection to ensure that downloads are not being interrupted. - Verify that you have the necessary permissions to execute the script. - Ensure that your system meets the minimum requirements for running the installed tools. -- Refer to the documentation of individual tools for troubleshooting specific issues. \ No newline at end of file +- Refer to the documentation of individual tools for troubleshooting specific issues. diff --git a/docs/Splashkit/Applications/mingw-automated installation/script2.bash b/docs/Splashkit/Applications/mingw-automated installation/splashkit-automated-installation-msys2.sh similarity index 55% rename from docs/Splashkit/Applications/mingw-automated installation/script2.bash rename to docs/Splashkit/Applications/mingw-automated installation/splashkit-automated-installation-msys2.sh index 9876abdd7..012b641df 100644 --- a/docs/Splashkit/Applications/mingw-automated installation/script2.bash +++ b/docs/Splashkit/Applications/mingw-automated installation/splashkit-automated-installation-msys2.sh @@ -15,44 +15,50 @@ pacman -S --needed --noconfirm git curl unzip # Install C++ tools (before SplashKit) echo "Installing C++ tools..." -pacman -S --needed --noconfirm mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-toolchain - -# Download .NET SDK Installer -echo "Downloading .NET SDK installer..." -curl -L $dotnet_sdk_url -o dotnet-sdk-installer.exe - -# Run .NET SDK Installer using PowerShell -echo "Installing .NET SDK..." -powershell.exe -Command "Start-Process dotnet-sdk-installer.exe -ArgumentList '/quiet /norestart' -Wait" -if [ $? -ne 0 ]; then - echo ".NET SDK installation failed. Please try installing it manually." - exit 1 -fi +pacman -S --needed --noconfirm mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-make mingw-w64-x86_64-toolchain # Check if .NET SDK is installed if ! command -v dotnet &> /dev/null then - echo ".NET SDK installation failed or .NET SDK is not in the PATH. Please check the installation and try again." - exit 1 -fi + echo "Downloading .NET SDK installer..." + curl -L $dotnet_sdk_url -o dotnet-sdk-installer.exe -# Download VS Code Installer -echo "Downloading Visual Studio Code installer..." -curl -L $vscode_installer_url -o vscode-installer.exe + echo "Installing .NET SDK..." + powershell.exe -Command "Start-Process dotnet-sdk-installer.exe -ArgumentList '/quiet /norestart' -Wait" + if [ $? -ne 0 ]; then + echo ".NET SDK installation failed. Please try installing it manually." + exit 1 + fi -# Run VS Code Installer using PowerShell -echo "Installing Visual Studio Code..." -powershell.exe -Command "Start-Process vscode-installer.exe -ArgumentList '/silent /mergetasks=!runcode' -Wait" -if [ $? -ne 0 ]; then - echo "Visual Studio Code installation failed. Please try installing it manually." - exit 1 + if ! command -v dotnet &> /dev/null + then + echo ".NET SDK installation failed or .NET SDK is not in the PATH. Please check the installation and try again." + exit 1 + fi +else + echo ".NET SDK is already installed." fi # Check if VS Code is installed if ! command -v code &> /dev/null then - echo "Visual Studio Code installation failed or VS Code is not in the PATH. Please check the installation and try again." - exit 1 + echo "Downloading Visual Studio Code installer..." + curl -L $vscode_installer_url -o vscode-installer.exe + + echo "Installing Visual Studio Code..." + powershell.exe -Command "Start-Process vscode-installer.exe -ArgumentList '/silent /mergetasks=!runcode' -Wait" + if [ $? -ne 0 ]; then + echo "Visual Studio Code installation failed. Please try installing it manually." + exit 1 + fi + + if ! command -v code &> /dev/null + then + echo "Visual Studio Code installation failed or VS Code is not in the PATH. Please check the installation and try again." + exit 1 + fi +else + echo "Visual Studio Code is already installed." fi # Install SplashKit diff --git a/src/content/docs/products/splashkit/documentation/expansions/Detecting Operating System through MSYS.md b/src/content/docs/products/splashkit/documentation/expansions/Detecting Operating System through MSYS.md index db1f4e12b..9ee257ab0 100644 --- a/src/content/docs/products/splashkit/documentation/expansions/Detecting Operating System through MSYS.md +++ b/src/content/docs/products/splashkit/documentation/expansions/Detecting Operating System through MSYS.md @@ -1,33 +1,54 @@ # Detecting Operating System through MSYS -MSYS, or Minimal SYStem, is a Windows software distribution and development platform that offers package management, a bash shell, and a number of other tools and libraries in a manner reminiscent of Unix. It is often used in conjunction with MinGW (Minimalist GNU for Windows) to create native Windows applications using the GNU toolchain. +MSYS, or Minimal SYStem, is a Windows software distribution and development platform that offers +package management, a bash shell, and a number of other tools and libraries in a manner reminiscent +of Unix. It is often used in conjunction with MinGW (Minimalist GNU for Windows) to create native +Windows applications using the GNU toolchain. ## Using Environment Variables -One common method for detecting the operating system is to leverage pre-defined environment variables that contain information about the system. MSYS provides a variable called `$OSTYPE`, which holds a string that identifies the operating system type. By checking the value of this variable, scripts can determine whether they are running on Windows, Linux, macOS, or another supported platform. +One common method for detecting the operating system is to leverage pre-defined environment +variables that contain information about the system. MSYS provides a variable called `$OSTYPE`, +which holds a string that identifies the operating system type. By checking the value of this +variable, scripts can determine whether they are running on Windows, Linux, macOS, or another +supported platform. ## Utilizing System Commands -Another approach involves using system commands that provide information about the current operating system. The `uname` command, for example, can print various details about the system, including the operating system name. By parsing the output of this command, scripts can identify the specific operating system and take appropriate actions. +Another approach involves using system commands that provide information about the current operating +system. The `uname` command, for example, can print various details about the system, including the +operating system name. By parsing the output of this command, scripts can identify the specific +operating system and take appropriate actions. ## Advantages and Limitations Detecting the operating system through MSYS offers several advantages: -1. **Consistent Development Experience:** By using MSYS, developers can work in a familiar Unix-like environment, even on Windows, ensuring a consistent development experience across platforms. +1. **Consistent Development Experience:** By using MSYS, developers can work in a familiar Unix-like + environment, even on Windows, ensuring a consistent development experience across platforms. -2. **Portability:** Scripts that detect the operating system through MSYS can be easily ported to other Unix-like environments, as they rely on standard bash features and commands. +2. **Portability:** Scripts that detect the operating system through MSYS can be easily ported to + other Unix-like environments, as they rely on standard bash features and commands. -3. **Integration with MinGW:** MSYS is often used in conjunction with MinGW, allowing developers to create native Windows applications using the GNU toolchain. +3. **Integration with MinGW:** MSYS is often used in conjunction with MinGW, allowing developers to + create native Windows applications using the GNU toolchain. However, there are also some limitations to consider: -1. **Limited to MSYS Environment:** The techniques for detecting the operating system are specific to the MSYS environment and may not work in other Windows environments, such as PowerShell or the native Command Prompt. +1. **Limited to MSYS Environment:** The techniques for detecting the operating system are specific + to the MSYS environment and may not work in other Windows environments, such as PowerShell or the + native Command Prompt. -2. **Potential Compatibility Issues:** While MSYS aims to provide a Unix-like environment, there may be compatibility issues with certain Windows-specific tools or libraries. +2. **Potential Compatibility Issues:** While MSYS aims to provide a Unix-like environment, there may + be compatibility issues with certain Windows-specific tools or libraries. -3. **Learning Curve:** Developers who are unfamiliar with Unix-like environments or MSYS may face a steeper learning curve when using these techniques. +3. **Learning Curve:** Developers who are unfamiliar with Unix-like environments or MSYS may face a + steeper learning curve when using these techniques. ## Conclusion -Detecting the operating system through MSYS is a valuable skill for developers working in a Unix-like environment on Windows. By leveraging environment variables, system commands, and other techniques, scripts can identify the underlying operating system and adapt their behavior accordingly. While there are some limitations to consider, the ability to work in a consistent development environment across platforms makes MSYS a powerful tool for cross-platform development. +Detecting the operating system through MSYS is a valuable skill for developers working in a +Unix-like environment on Windows. By leveraging environment variables, system commands, and other +techniques, scripts can identify the underlying operating system and adapt their behavior +accordingly. While there are some limitations to consider, the ability to work in a consistent +development environment across platforms makes MSYS a powerful tool for cross-platform development. diff --git a/src/content/docs/products/splashkit/documentation/expansions/Installing Visual Studio Code (VSCode) through MSYS2.md b/src/content/docs/products/splashkit/documentation/expansions/Installing Visual Studio Code (VSCode) through MSYS2.md index 52861cbc3..d3d069812 100644 --- a/src/content/docs/products/splashkit/documentation/expansions/Installing Visual Studio Code (VSCode) through MSYS2.md +++ b/src/content/docs/products/splashkit/documentation/expansions/Installing Visual Studio Code (VSCode) through MSYS2.md @@ -1,95 +1,132 @@ # Installing Visual Studio Code (VSCode) through MSYS2 -Visual Studio Code (VSCode) is a popular and powerful code editor developed by Microsoft. While it is primarily designed for Windows, Linux, and macOS, it can also be installed and used on Windows through MSYS2, a collection of tools and libraries that provide a Unix-like environment for Windows. +Visual Studio Code (VSCode) is a popular and powerful code editor developed by Microsoft. While it +is primarily designed for Windows, Linux, and macOS, it can also be installed and used on Windows +through MSYS2, a collection of tools and libraries that provide a Unix-like environment for Windows. ## Understanding MSYS2 -MSYS2 is a software distribution and building platform for Windows, providing a Unix-like environment with a bash shell, a package manager (pacman), and a collection of tools and libraries. It is particularly useful for developers who prefer working in a Unix-like environment or need to build and run Unix-based applications on Windows. +MSYS2 is a software distribution and building platform for Windows, providing a Unix-like +environment with a bash shell, a package manager (pacman), and a collection of tools and libraries. +It is particularly useful for developers who prefer working in a Unix-like environment or need to +build and run Unix-based applications on Windows. -MSYS2 includes MinGW, a minimalist development environment that allows you to use the GNU Compiler Collection (GCC) and other GNU tools to create native Windows applications. This makes it an ideal choice for installing and using VSCode, which is built on top of Electron, a framework that uses Node.js and Chromium. +MSYS2 includes MinGW, a minimalist development environment that allows you to use the GNU Compiler +Collection (GCC) and other GNU tools to create native Windows applications. This makes it an ideal +choice for installing and using VSCode, which is built on top of Electron, a framework that uses +Node.js and Chromium. ## Prerequisites Before proceeding with the installation, ensure that you have the following prerequisites: -1. **MSYS2:** Install MSYS2 on your Windows system. You can download the installer from the [official MSYS2 website](https://www.msys2.org/). +1. **MSYS2:** Install MSYS2 on your Windows system. You can download the installer from the + [official MSYS2 website](https://www.msys2.org/). -2. **Updated Package Databases:** After installing MSYS2, open the MSYS2 MinGW 64-bit terminal and run the following command to update the package databases: +2. **Updated Package Databases:** After installing MSYS2, open the MSYS2 MinGW 64-bit terminal and + run the following command to update the package databases: - ``` - pacman -Syu - ``` + ``` + pacman -Syu + ``` - This command will update the core package databases and install any necessary updates. + This command will update the core package databases and install any necessary updates. ## Installing VSCode through MSYS2 Follow these steps to install VSCode through MSYS2: -1. **Install Dependencies:** In the MSYS2 MinGW 64-bit terminal, install the required dependencies by running the following command: +1. **Install Dependencies:** In the MSYS2 MinGW 64-bit terminal, install the required dependencies + by running the following command: - ``` - pacman -S --needed base-devel mingw-w64-x86_64-toolchain - ``` + ``` + pacman -S --needed base-devel mingw-w64-x86_64-toolchain + ``` - This command will install the base development tools and the MinGW toolchain, which are necessary for building and running VSCode. + This command will install the base development tools and the MinGW toolchain, which are necessary + for building and running VSCode. -2. **Install Node.js:** VSCode is built on top of Electron, which requires Node.js. Install Node.js by running the following command: +2. **Install Node.js:** VSCode is built on top of Electron, which requires Node.js. Install Node.js + by running the following command: - ``` - pacman -S mingw-w64-x86_64-nodejs - ``` + ``` + pacman -S mingw-w64-x86_64-nodejs + ``` -3. **Install Git:** Git is a version control system used by VSCode for various purposes, such as managing extensions and updates. Install Git by running the following command: +3. **Install Git:** Git is a version control system used by VSCode for various purposes, such as + managing extensions and updates. Install Git by running the following command: - ``` - pacman -S git - ``` + ``` + pacman -S git + ``` 4. **Install VSCode:** Finally, install VSCode by running the following command: - ``` - pacman -S code - ``` + ``` + pacman -S code + ``` - This command will download and install the latest version of VSCode from the MSYS2 repository. + This command will download and install the latest version of VSCode from the MSYS2 repository. -5. **Launch VSCode:** After the installation is complete, you can launch VSCode by running the following command in the MSYS2 MinGW 64-bit terminal: +5. **Launch VSCode:** After the installation is complete, you can launch VSCode by running the + following command in the MSYS2 MinGW 64-bit terminal: - ``` - code - ``` + ``` + code + ``` - Alternatively, you can search for "Visual Studio Code" in the Windows Start menu and launch it from there. + Alternatively, you can search for "Visual Studio Code" in the Windows Start menu and launch it + from there. ## Configuring VSCode with MSYS2 -Once VSCode is installed and launched, you may need to configure it to work seamlessly with MSYS2. Here are a few steps to consider: +Once VSCode is installed and launched, you may need to configure it to work seamlessly with MSYS2. +Here are a few steps to consider: -1. **Set the Integrated Terminal:** VSCode has an integrated terminal that can be configured to use the MSYS2 bash shell. To do this, go to File > Preferences > Settings (or press Ctrl+,) and search for "terminal.integrated.shell.windows". Set the value to the path of your MSYS2 bash shell (e.g., "C:\msys64\usr\bin\bash.exe"). +1. **Set the Integrated Terminal:** VSCode has an integrated terminal that can be configured to use + the MSYS2 bash shell. To do this, go to File > Preferences > Settings (or press Ctrl+,) and + search for "terminal.integrated.shell.windows". Set the value to the path of your MSYS2 bash + shell (e.g., "C:\msys64\usr\bin\bash.exe"). -2. **Configure Build Tasks:** If you plan to use VSCode for building and compiling projects, you may need to configure the build tasks to use the MSYS2 environment. This can be done by creating a `tasks.json` file in the `.vscode` folder of your project and specifying the appropriate commands and environment variables. +2. **Configure Build Tasks:** If you plan to use VSCode for building and compiling projects, you may + need to configure the build tasks to use the MSYS2 environment. This can be done by creating a + `tasks.json` file in the `.vscode` folder of your project and specifying the appropriate commands + and environment variables. -3. **Install Extensions:** VSCode has a rich ecosystem of extensions that can enhance your development experience. You can install extensions directly from the VSCode Marketplace or through the MSYS2 package manager. For example, to install the C/C++ extension, run the following command in the MSYS2 MinGW 64-bit terminal: +3. **Install Extensions:** VSCode has a rich ecosystem of extensions that can enhance your + development experience. You can install extensions directly from the VSCode Marketplace or + through the MSYS2 package manager. For example, to install the C/C++ extension, run the following + command in the MSYS2 MinGW 64-bit terminal: - ``` - pacman -S mingw-w64-x86_64-code-cpp - ``` + ``` + pacman -S mingw-w64-x86_64-code-cpp + ``` ## Advantages and Limitations Installing VSCode through MSYS2 offers several advantages: -- **Unix-like Environment:** Developers who are more comfortable working in a Unix-like environment can benefit from the familiar tools and utilities provided by MSYS2. -- **Consistent Development Experience:** By using MSYS2, you can ensure a consistent development experience across different platforms, as MSYS2 provides a Unix-like environment on Windows. -- **Access to MSYS2 Packages:** MSYS2 offers a vast collection of packages that can be easily installed and integrated with VSCode, enhancing its functionality and capabilities. +- **Unix-like Environment:** Developers who are more comfortable working in a Unix-like environment + can benefit from the familiar tools and utilities provided by MSYS2. +- **Consistent Development Experience:** By using MSYS2, you can ensure a consistent development + experience across different platforms, as MSYS2 provides a Unix-like environment on Windows. +- **Access to MSYS2 Packages:** MSYS2 offers a vast collection of packages that can be easily + installed and integrated with VSCode, enhancing its functionality and capabilities. However, there are also some limitations to consider: -- **Performance:** Running VSCode through MSYS2 may introduce some performance overhead, as it adds an additional layer of abstraction. -- **Compatibility Issues:** While MSYS2 aims to provide a Unix-like environment, there may be compatibility issues with certain Windows-specific tools or libraries. -- **Learning Curve:** Developers who are unfamiliar with Unix-like environments or MSYS2 may face a steeper learning curve when using VSCode through MSYS2. +- **Performance:** Running VSCode through MSYS2 may introduce some performance overhead, as it adds + an additional layer of abstraction. +- **Compatibility Issues:** While MSYS2 aims to provide a Unix-like environment, there may be + compatibility issues with certain Windows-specific tools or libraries. +- **Learning Curve:** Developers who are unfamiliar with Unix-like environments or MSYS2 may face a + steeper learning curve when using VSCode through MSYS2. ## Conclusion -Installing Visual Studio Code (VSCode) through MSYS2 on Windows provides developers with a powerful code editor in a familiar Unix-like environment. By following the steps outlined in this report, you can successfully install and configure VSCode to work seamlessly with MSYS2, taking advantage of its rich ecosystem of tools, libraries, and extensions. While there are some limitations to consider, the benefits of a consistent development experience and access to MSYS2 packages make this approach a viable option for developers who prefer working in a Unix-like environment on Windows. +Installing Visual Studio Code (VSCode) through MSYS2 on Windows provides developers with a powerful +code editor in a familiar Unix-like environment. By following the steps outlined in this report, you +can successfully install and configure VSCode to work seamlessly with MSYS2, taking advantage of its +rich ecosystem of tools, libraries, and extensions. While there are some limitations to consider, +the benefits of a consistent development experience and access to MSYS2 packages make this approach +a viable option for developers who prefer working in a Unix-like environment on Windows. diff --git a/src/content/docs/products/splashkit/documentation/expansions/Installing dotnet Report through API.md b/src/content/docs/products/splashkit/documentation/expansions/Installing dotnet Report through API.md index ec3f7af4d..230b8c7e8 100644 --- a/src/content/docs/products/splashkit/documentation/expansions/Installing dotnet Report through API.md +++ b/src/content/docs/products/splashkit/documentation/expansions/Installing dotnet Report through API.md @@ -1,51 +1,89 @@ # Installing dotnet Report through API -dotnet Report is a powerful reporting and analytics platform that allows developers to seamlessly integrate reporting capabilities into their applications. While the platform offers various installation methods, such as Docker, GitHub, and NuGet packages, it also provides an option to install and integrate dotnet Report directly through an API. +dotnet Report is a powerful reporting and analytics platform that allows developers to seamlessly +integrate reporting capabilities into their applications. While the platform offers various +installation methods, such as Docker, GitHub, and NuGet packages, it also provides an option to +install and integrate dotnet Report directly through an API. ## Understanding the API Installation Process -The API installation process for dotnet Report involves leveraging the platform's RESTful API endpoints to programmatically install and configure the reporting solution within an existing application. This approach is particularly useful for developers who prefer a more automated and streamlined integration process or for scenarios where manual installation is not feasible or desired. +The API installation process for dotnet Report involves leveraging the platform's RESTful API +endpoints to programmatically install and configure the reporting solution within an existing +application. This approach is particularly useful for developers who prefer a more automated and +streamlined integration process or for scenarios where manual installation is not feasible or +desired. ### Prerequisites -Before proceeding with the API installation, ensure that you have the following prerequisites in place: +Before proceeding with the API installation, ensure that you have the following prerequisites in +place: -1. **API Credentials:** Obtain the necessary API credentials, including the account API token, data connect API token, and private API token, from the dotnet Report online portal. These credentials are required to authenticate and authorize the API requests. +1. **API Credentials:** Obtain the necessary API credentials, including the account API token, data + connect API token, and private API token, from the dotnet Report online portal. These credentials + are required to authenticate and authorize the API requests. -2. **Development Environment:** Set up a development environment with the appropriate tools and frameworks to interact with the dotnet Report API. This may include an Integrated Development Environment (IDE), programming language, and any necessary libraries or packages for making HTTP requests. +2. **Development Environment:** Set up a development environment with the appropriate tools and + frameworks to interact with the dotnet Report API. This may include an Integrated Development + Environment (IDE), programming language, and any necessary libraries or packages for making HTTP + requests. -3. **Application Context:** Have a clear understanding of the application context in which you want to integrate dotnet Report. This includes the target platform, framework, and any specific requirements or constraints. +3. **Application Context:** Have a clear understanding of the application context in which you want + to integrate dotnet Report. This includes the target platform, framework, and any specific + requirements or constraints. ### Installation Steps The API installation process typically involves the following steps: -1. **Authentication:** Authenticate with the dotnet Report API using the provided API credentials. This step is crucial to ensure that you have the necessary permissions to access and interact with the API endpoints. +1. **Authentication:** Authenticate with the dotnet Report API using the provided API credentials. + This step is crucial to ensure that you have the necessary permissions to access and interact + with the API endpoints. -2. **Configuration:** Configure the dotnet Report installation by sending API requests to set up the desired reporting environment. This may include specifying the deployment mode (e.g., standalone or embedded), configuring data sources, and defining report templates or dashboards. +2. **Configuration:** Configure the dotnet Report installation by sending API requests to set up the + desired reporting environment. This may include specifying the deployment mode (e.g., standalone + or embedded), configuring data sources, and defining report templates or dashboards. -3. **Integration:** Integrate the dotnet Report components into your application by making API calls to retrieve and render reports, dashboards, or other reporting artifacts. This step may involve embedding the reporting functionality into your application's user interface or exposing it as a separate service. +3. **Integration:** Integrate the dotnet Report components into your application by making API calls + to retrieve and render reports, dashboards, or other reporting artifacts. This step may involve + embedding the reporting functionality into your application's user interface or exposing it as a + separate service. -4. **Customization:** Customize the reporting experience by leveraging the dotnet Report API to apply branding, implement access controls, or extend the functionality with additional features or integrations. +4. **Customization:** Customize the reporting experience by leveraging the dotnet Report API to + apply branding, implement access controls, or extend the functionality with additional features + or integrations. ### Advantages and Limitations Installing dotnet Report through the API offers several advantages: -- **Automation:** A more efficient and repeatable installation procedure can be achieved by automating the API installation process and integrating it into current deployment pipelines or continuous integration/continuous deployment (CI/CD) workflows. +- **Automation:** A more efficient and repeatable installation procedure can be achieved by + automating the API installation process and integrating it into current deployment pipelines or + continuous integration/continuous deployment (CI/CD) workflows. -- **Programmatic Control:** Developers have programmatic control over the installation and configuration process, allowing for greater flexibility and customization based on specific application requirements. +- **Programmatic Control:** Developers have programmatic control over the installation and + configuration process, allowing for greater flexibility and customization based on specific + application requirements. -- **Scalability:** The API installation approach can be particularly beneficial for scenarios that require scaling or deploying dotnet Report across multiple environments or instances. +- **Scalability:** The API installation approach can be particularly beneficial for scenarios that + require scaling or deploying dotnet Report across multiple environments or instances. However, there are also some limitations to consider: -- **Learning Curve:** Developers need to familiarize themselves with the dotnet Report API and its documentation, which may introduce a learning curve, especially for those new to the platform. +- **Learning Curve:** Developers need to familiarize themselves with the dotnet Report API and its + documentation, which may introduce a learning curve, especially for those new to the platform. -- **Complexity:** Depending on the application's requirements and the desired level of customization, the API installation process may become more complex, requiring additional development effort. +- **Complexity:** Depending on the application's requirements and the desired level of + customization, the API installation process may become more complex, requiring additional + development effort. -- **Maintenance:** As with any API-based integration, ongoing maintenance and updates to the dotnet Report API may require corresponding updates to the integration code within the application. +- **Maintenance:** As with any API-based integration, ongoing maintenance and updates to the dotnet + Report API may require corresponding updates to the integration code within the application. ## Conclusion -Installing dotnet Report through the API provides developers with a programmatic and automated approach to integrating reporting capabilities into their applications. While this method offers advantages such as automation, programmatic control, and scalability, it also introduces a learning curve and potential complexity. Developers should carefully evaluate their specific requirements and weigh the pros and cons of the API installation approach against other installation methods offered by dotnet Report. +Installing dotnet Report through the API provides developers with a programmatic and automated +approach to integrating reporting capabilities into their applications. While this method offers +advantages such as automation, programmatic control, and scalability, it also introduces a learning +curve and potential complexity. Developers should carefully evaluate their specific requirements and +weigh the pros and cons of the API installation approach against other installation methods offered +by dotnet Report. diff --git a/src/content/docs/products/splashkit/documentation/expansions/Understanding MinGW.md b/src/content/docs/products/splashkit/documentation/expansions/Understanding MinGW.md index 7f9af003b..0c28295de 100644 --- a/src/content/docs/products/splashkit/documentation/expansions/Understanding MinGW.md +++ b/src/content/docs/products/splashkit/documentation/expansions/Understanding MinGW.md @@ -1,46 +1,76 @@ # Understanding MinGW -Using the GNU Compiler Collection (GCC) and other tools from the GNU project, developers can construct native Windows applications with MinGW (Minimalist GNU for Windows), a lightweight and open-source development environment. The purpose of this paper is to give readers a thorough grasp of MinGW's operation and components. +Using the GNU Compiler Collection (GCC) and other tools from the GNU project, developers can +construct native Windows applications with MinGW (Minimalist GNU for Windows), a lightweight and +open-source development environment. The purpose of this paper is to give readers a thorough grasp +of MinGW's operation and components. ## Introduction -MinGW is a collection of free software tools that provide a minimalist development environment for creating applications on Windows without the need for a full-fledged integrated development environment (IDE) like Visual Studio. It offers a command-line interface and a set of Unix-like utilities, allowing developers to work in a familiar environment while targeting the Windows platform. +MinGW is a collection of free software tools that provide a minimalist development environment for +creating applications on Windows without the need for a full-fledged integrated development +environment (IDE) like Visual Studio. It offers a command-line interface and a set of Unix-like +utilities, allowing developers to work in a familiar environment while targeting the Windows +platform. ## Components MinGW consists of several key components that work together to facilitate the development process: -1. **GCC Compiler:** A collection of compilers for several programming languages, such as C, C++, Fortran, and others, is called the GNU Compiler Collection (GCC). It is in charge of converting executable binaries from source code. +1. **GCC Compiler:** A collection of compilers for several programming languages, such as C, C++, + Fortran, and others, is called the GNU Compiler Collection (GCC). It is in charge of converting + executable binaries from source code. -2. **GNU Binutils:** This package includes essential tools for working with object files, such as linkers, assemblers, and other utilities. These tools are crucial for combining object files and libraries into executable programs. +2. **GNU Binutils:** This package includes essential tools for working with object files, such as + linkers, assemblers, and other utilities. These tools are crucial for combining object files and + libraries into executable programs. -3. **MinGW Runtime:** MinGW provides a minimal set of runtime libraries that are required for executing programs compiled with MinGW. These libraries provide functionality similar to the Microsoft Visual C++ Runtime Libraries but are designed to be lightweight and compatible with the GNU toolchain. +3. **MinGW Runtime:** MinGW provides a minimal set of runtime libraries that are required for + executing programs compiled with MinGW. These libraries provide functionality similar to the + Microsoft Visual C++ Runtime Libraries but are designed to be lightweight and compatible with the + GNU toolchain. -4. **MSYS:** MSYS (Minimal SYStem) is a Unix-like shell environment that provides a command-line interface and various Unix utilities for MinGW. It allows developers to use familiar Unix commands and tools within the Windows environment, facilitating a smoother transition for those accustomed to Unix-based systems. +4. **MSYS:** MSYS (Minimal SYStem) is a Unix-like shell environment that provides a command-line + interface and various Unix utilities for MinGW. It allows developers to use familiar Unix + commands and tools within the Windows environment, facilitating a smoother transition for those + accustomed to Unix-based systems. ## Workflow The typical workflow when using MinGW to develop applications involves the following steps: -1. **Writing Source Code:** Developers write their program's source code in a text editor or an integrated development environment (IDE) that supports MinGW. +1. **Writing Source Code:** Developers write their program's source code in a text editor or an + integrated development environment (IDE) that supports MinGW. -2. **Compiling:** The GCC compiler from the MinGW toolchain is used to compile the source code into object files. The compiler translates the high-level programming language into machine-readable code. +2. **Compiling:** The GCC compiler from the MinGW toolchain is used to compile the source code into + object files. The compiler translates the high-level programming language into machine-readable + code. -3. **Linking:** After compiling, the linker from the GNU Binutils package combines the object files with the necessary libraries (including the MinGW runtime libraries) to create an executable binary file. +3. **Linking:** After compiling, the linker from the GNU Binutils package combines the object files + with the necessary libraries (including the MinGW runtime libraries) to create an executable + binary file. -4. **Running:** The resulting executable binary can be run directly on Windows without the need for additional runtime environments or libraries (apart from the MinGW runtime libraries). +4. **Running:** The resulting executable binary can be run directly on Windows without the need for + additional runtime environments or libraries (apart from the MinGW runtime libraries). ## Advantages and Use Cases MinGW offers several advantages over other development environments: -1. **Lightweight and Portable:** MinGW provides a minimalist and portable development environment, making it suitable for developers who prefer working with command-line tools or who want to create applications without the overhead of a full-fledged IDE. +1. **Lightweight and Portable:** MinGW provides a minimalist and portable development environment, + making it suitable for developers who prefer working with command-line tools or who want to + create applications without the overhead of a full-fledged IDE. -2. **Cross-Platform Development:** While MinGW targets the Windows platform, the underlying GNU toolchain is cross-platform, allowing developers to write code that can be compiled and run on multiple operating systems with minimal modifications. +2. **Cross-Platform Development:** While MinGW targets the Windows platform, the underlying GNU + toolchain is cross-platform, allowing developers to write code that can be compiled and run on + multiple operating systems with minimal modifications. -3. **Open-Source and Free:** MinGW is an open-source project, which means that it is freely available and can be modified and distributed according to the terms of its license. +3. **Open-Source and Free:** MinGW is an open-source project, which means that it is freely + available and can be modified and distributed according to the terms of its license. -4. **Compatibility with Existing Tools:** MinGW integrates well with existing tools and libraries from the GNU project, providing developers with a wide range of resources and utilities to leverage in their projects. +4. **Compatibility with Existing Tools:** MinGW integrates well with existing tools and libraries + from the GNU project, providing developers with a wide range of resources and utilities to + leverage in their projects. MinGW is widely used in various scenarios, including: @@ -52,4 +82,9 @@ MinGW is widely used in various scenarios, including: ## Conclusion -MinGW is a powerful and versatile development environment that provides a lightweight and efficient way to create native Windows applications using the GNU toolchain. By understanding its components and workflow, developers can leverage the benefits of MinGW and take advantage of its cross-platform capabilities, open-source nature, and compatibility with existing GNU tools and libraries. Whether for personal projects, academic purposes, or professional development, MinGW offers a robust and flexible solution for Windows application development. \ No newline at end of file +MinGW is a powerful and versatile development environment that provides a lightweight and efficient +way to create native Windows applications using the GNU toolchain. By understanding its components +and workflow, developers can leverage the benefits of MinGW and take advantage of its cross-platform +capabilities, open-source nature, and compatibility with existing GNU tools and libraries. Whether +for personal projects, academic purposes, or professional development, MinGW offers a robust and +flexible solution for Windows application development. From 39098a7cb8ce3dc25880d57b78dc5dca1e382bbd Mon Sep 17 00:00:00 2001 From: beastbybirth2 Date: Sat, 25 May 2024 11:59:23 +0530 Subject: [PATCH 6/6] Fixed: updated research files location --- ...Detecting Operating System through MSYS.md | 33 ++++++++++--------- ...sual Studio Code (VSCode) through MSYS2.md | 0 .../Installing dotnet Report through API.md | 2 +- .../Understanding MinGW.md | 2 +- 4 files changed, 19 insertions(+), 18 deletions(-) rename {src/content/docs/products/splashkit/documentation/expansions => docs/Splashkit/Extensions/MINGW64 automated installation}/Detecting Operating System through MSYS.md (59%) rename {src/content/docs/products/splashkit/documentation/expansions => docs/Splashkit/Extensions/MINGW64 automated installation}/Installing Visual Studio Code (VSCode) through MSYS2.md (100%) rename {src/content/docs/products/splashkit/documentation/expansions => docs/Splashkit/Extensions/MINGW64 automated installation}/Installing dotnet Report through API.md (98%) rename {src/content/docs/products/splashkit/documentation/expansions => docs/Splashkit/Extensions/MINGW64 automated installation}/Understanding MinGW.md (99%) diff --git a/src/content/docs/products/splashkit/documentation/expansions/Detecting Operating System through MSYS.md b/docs/Splashkit/Extensions/MINGW64 automated installation/Detecting Operating System through MSYS.md similarity index 59% rename from src/content/docs/products/splashkit/documentation/expansions/Detecting Operating System through MSYS.md rename to docs/Splashkit/Extensions/MINGW64 automated installation/Detecting Operating System through MSYS.md index 9ee257ab0..2a7f129a4 100644 --- a/src/content/docs/products/splashkit/documentation/expansions/Detecting Operating System through MSYS.md +++ b/docs/Splashkit/Extensions/MINGW64 automated installation/Detecting Operating System through MSYS.md @@ -1,4 +1,4 @@ -# Detecting Operating System through MSYS +# Detecting Operating System through MSYS2 MSYS, or Minimal SYStem, is a Windows software distribution and development platform that offers package management, a bash shell, and a number of other tools and libraries in a manner reminiscent @@ -8,7 +8,7 @@ Windows applications using the GNU toolchain. ## Using Environment Variables One common method for detecting the operating system is to leverage pre-defined environment -variables that contain information about the system. MSYS provides a variable called `$OSTYPE`, +variables that contain information about the system. MSYS2 provides a variable called `$OSTYPE`, which holds a string that identifies the operating system type. By checking the value of this variable, scripts can determine whether they are running on Windows, Linux, macOS, or another supported platform. @@ -22,33 +22,34 @@ operating system and take appropriate actions. ## Advantages and Limitations -Detecting the operating system through MSYS offers several advantages: +Detecting the operating system through MSYS2 offers several advantages: -1. **Consistent Development Experience:** By using MSYS, developers can work in a familiar Unix-like - environment, even on Windows, ensuring a consistent development experience across platforms. +1. **Consistent Development Experience:** By using MSYS2, developers can work in a familiar + Unix-like environment, even on Windows, ensuring a consistent development experience across + platforms. -2. **Portability:** Scripts that detect the operating system through MSYS can be easily ported to +2. **Portability:** Scripts that detect the operating system through MSYS2 can be easily ported to other Unix-like environments, as they rely on standard bash features and commands. -3. **Integration with MinGW:** MSYS is often used in conjunction with MinGW, allowing developers to +3. **Integration with MinGW:** MSYS2 is often used in conjunction with MinGW, allowing developers to create native Windows applications using the GNU toolchain. However, there are also some limitations to consider: -1. **Limited to MSYS Environment:** The techniques for detecting the operating system are specific - to the MSYS environment and may not work in other Windows environments, such as PowerShell or the - native Command Prompt. +1. **Limited to MSYS2 Environment:** The techniques for detecting the operating system are specific + to the MSYS2 environment and may not work in other Windows environments, such as PowerShell or + the native Command Prompt. -2. **Potential Compatibility Issues:** While MSYS aims to provide a Unix-like environment, there may - be compatibility issues with certain Windows-specific tools or libraries. +2. **Potential Compatibility Issues:** While MSYS2 aims to provide a Unix-like environment, there + may be compatibility issues with certain Windows-specific tools or libraries. -3. **Learning Curve:** Developers who are unfamiliar with Unix-like environments or MSYS may face a +3. **Learning Curve:** Developers who are unfamiliar with Unix-like environments or MSYS2 may face a steeper learning curve when using these techniques. ## Conclusion -Detecting the operating system through MSYS is a valuable skill for developers working in a +Detecting the operating system through MSYS2 is a valuable skill for developers working in a Unix-like environment on Windows. By leveraging environment variables, system commands, and other -techniques, scripts can identify the underlying operating system and adapt their behavior +techniques, scripts can identify the underlying operating system and adapt their behaviour accordingly. While there are some limitations to consider, the ability to work in a consistent -development environment across platforms makes MSYS a powerful tool for cross-platform development. +development environment across platforms makes MSYS2 a powerful tool for cross-platform development. diff --git a/src/content/docs/products/splashkit/documentation/expansions/Installing Visual Studio Code (VSCode) through MSYS2.md b/docs/Splashkit/Extensions/MINGW64 automated installation/Installing Visual Studio Code (VSCode) through MSYS2.md similarity index 100% rename from src/content/docs/products/splashkit/documentation/expansions/Installing Visual Studio Code (VSCode) through MSYS2.md rename to docs/Splashkit/Extensions/MINGW64 automated installation/Installing Visual Studio Code (VSCode) through MSYS2.md diff --git a/src/content/docs/products/splashkit/documentation/expansions/Installing dotnet Report through API.md b/docs/Splashkit/Extensions/MINGW64 automated installation/Installing dotnet Report through API.md similarity index 98% rename from src/content/docs/products/splashkit/documentation/expansions/Installing dotnet Report through API.md rename to docs/Splashkit/Extensions/MINGW64 automated installation/Installing dotnet Report through API.md index 230b8c7e8..b334ba49b 100644 --- a/src/content/docs/products/splashkit/documentation/expansions/Installing dotnet Report through API.md +++ b/docs/Splashkit/Extensions/MINGW64 automated installation/Installing dotnet Report through API.md @@ -20,7 +20,7 @@ place: 1. **API Credentials:** Obtain the necessary API credentials, including the account API token, data connect API token, and private API token, from the dotnet Report online portal. These credentials - are required to authenticate and authorize the API requests. + are required to authenticate and authorise the API requests. 2. **Development Environment:** Set up a development environment with the appropriate tools and frameworks to interact with the dotnet Report API. This may include an Integrated Development diff --git a/src/content/docs/products/splashkit/documentation/expansions/Understanding MinGW.md b/docs/Splashkit/Extensions/MINGW64 automated installation/Understanding MinGW.md similarity index 99% rename from src/content/docs/products/splashkit/documentation/expansions/Understanding MinGW.md rename to docs/Splashkit/Extensions/MINGW64 automated installation/Understanding MinGW.md index 0c28295de..bab545d67 100644 --- a/src/content/docs/products/splashkit/documentation/expansions/Understanding MinGW.md +++ b/docs/Splashkit/Extensions/MINGW64 automated installation/Understanding MinGW.md @@ -66,7 +66,7 @@ MinGW offers several advantages over other development environments: multiple operating systems with minimal modifications. 3. **Open-Source and Free:** MinGW is an open-source project, which means that it is freely - available and can be modified and distributed according to the terms of its license. + available and can be modified and distributed according to the terms of its licence. 4. **Compatibility with Existing Tools:** MinGW integrates well with existing tools and libraries from the GNU project, providing developers with a wide range of resources and utilities to