An open API service indexing awesome lists of open source software.

https://github.com/amirisback/signature-stamp


https://github.com/amirisback/signature-stamp

Last synced: 7 days ago
JSON representation

Awesome Lists containing this project

README

          

# Signature Stamp
![Version](https://img.shields.io/jetbrains/plugin/v/io.github.amirisback.signature-stamp.svg)
![Downloads](https://img.shields.io/jetbrains/plugin/d/io.github.amirisback.signature-stamp.svg)
[![Build Plugin](https://github.com/amirisback/signature-stamp/actions/workflows/build-plugin.yml/badge.svg)](https://github.com/amirisback/signature-stamp/actions/workflows/build-plugin.yml)

**Signature Stamp** is a JetBrains IDE plugin designed to help developers effortlessly insert signature stamps or custom messages right into their code files. With a simple, accessible Tool Window side panel, generating tracking notes or signature watermarks becomes a one-click affair!

## Key Features

- **Quick Insert:** Insert a timestamped signature directly at your cursor via a dedicated Tool Window button.
- **Default Formatting:** Automatically fetches your OS username and parses `[Username] - [Date]` seamlessly.
- **Fully Customizable:** Prefer a block comment ascii-art or personalized structure? Switch to the "Custom Message" mode to specify entirely what you want included.
- **Dynamic Tags Support:** Inject `$USERNAME` and `$DATE` dynamically within your custom stamps – automatically resolving upon each insertion!
- **IDE Settings Integration:** All customization options are securely saved right in the IDE Preferences (`Settings > Tools > Signature Stamp`).

---

## How to Build & Run Locally
```yml
./gradlew buildPlugin
```

## Previews & Screenshots

### The Tool Window & Settings UI

#### Settings Configuration Custom Message Focus
![Settings Configuration Custom Message Focus](./docs/image/ss_2.png)

#### Usage of Custom Multiline Text with Dynamic Tags
![Usage of Custom Multiline Text with Dynamic Tags](./docs/image/ss_3.png)

---

## Getting Started

1. Open **Settings | Plugins** in your JetBrains IDE.
2. Search for `Signature Stamp` in the Marketplace.
3. Install and restart the IDE.
4. Click on the **Signature Stamp** Tool Window typically found on your right sidebar (or via `View > Tool Windows > Signature Stamp`).
5. To configure your custom stamps, navigate to **File | Settings... | Tools | Signature Stamp**.
6. Enjoy!

## Development & Contribution

This plugin is built using the new IntelliJ Platform Plugin Template.
- **`runIde`**: Run this Gradle task to spin up a sandbox instance for testing local changes.
- Ensure your changes follow JetBrains Marketplace UI guidelines.

Developed by [Faisal Amir (amirisback)](https://github.com/amirisback).

# IntelliJ Platform Plugin Template

[![Twitter Follow](https://img.shields.io/badge/follow-%40JBPlatform-1DA1F2?logo=twitter)](https://twitter.com/JBPlatform)
[![Developers Forum](https://img.shields.io/badge/JetBrains%20Platform-Join-blue)][jb:forum]

## Plugin template structure

A generated project contains the following content structure:

```
.
├── .run/ Predefined Run/Debug Configurations
├── build/ Output build directory
├── gradle
│ ├── wrapper/ Gradle Wrapper
│ ├── libs.versions.toml Version catalog
├── src Plugin sources
│ ├── main
│ │ ├── kotlin/ Kotlin production sources
│ │ └── resources/ Resources - plugin.xml, icons, messages
├── .gitignore Git ignoring rules
├── build.gradle.kts Gradle build configuration
├── gradle.properties Gradle configuration properties
├── gradlew *nix Gradle Wrapper script
├── gradlew.bat Windows Gradle Wrapper script
├── README.md README
└── settings.gradle.kts Gradle project settings
```

In addition to the configuration files, the most crucial part is the `src` directory, which contains our implementation
and the manifest for our plugin – [plugin.xml][file:plugin.xml].

> [!NOTE]
> To use Java in your plugin, create the `/src/main/java` directory.

## Plugin configuration file

The plugin configuration file is a [plugin.xml][file:plugin.xml] file located in the `src/main/resources/META-INF`
directory.
It provides general information about the plugin, its dependencies, extensions, and listeners.

You can read more about this file in the [Plugin Configuration File][docs:plugin.xml] section of our documentation.

If you're still not quite sure what this is all about, read our
introduction: [What is the IntelliJ Platform?][docs:intro]

$H$H Predefined Run/Debug configurations

Within the default project structure, there is a `.run` directory provided containing predefined *Run/Debug
configurations* that expose corresponding Gradle tasks:

| Configuration name | Description |
|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Run Plugin | Runs [`:runIde`][gh:intellij-platform-gradle-plugin-runIde] IntelliJ Platform Gradle Plugin task. Use the *Debug* icon for plugin debugging. |
| Run Tests | Runs [`:test`][gradle:lifecycle-tasks] Gradle task. |
| Run Verifications | Runs [`:verifyPlugin`][gh:intellij-platform-gradle-plugin-verifyPlugin] IntelliJ Platform Gradle Plugin task to check the plugin compatibility against the specified IntelliJ IDEs. |

> [!NOTE]
> You can find the logs from the running task in the `idea.log` tab.

## Publishing the plugin

> [!TIP]
> Make sure to follow all guidelines listed in [Publishing a Plugin][docs:publishing] to follow all recommended and
> required steps.

Releasing a plugin to [JetBrains Marketplace](https://plugins.jetbrains.com) is a straightforward operation that uses
the `publishPlugin` Gradle task provided by
the [intellij-platform-gradle-plugin][gh:intellij-platform-gradle-plugin-docs].

You can also upload the plugin to the [JetBrains Plugin Repository](https://plugins.jetbrains.com/plugin/upload)
manually via UI.

## Useful links

- [IntelliJ Platform SDK Plugin SDK][docs]
- [IntelliJ Platform Gradle Plugin Documentation][gh:intellij-platform-gradle-plugin-docs]
- [IntelliJ Platform Explorer][jb:ipe]
- [JetBrains Marketplace Quality Guidelines][jb:quality-guidelines]
- [IntelliJ Platform UI Guidelines][jb:ui-guidelines]
- [JetBrains Marketplace Paid Plugins][jb:paid-plugins]
- [IntelliJ SDK Code Samples][gh:code-samples]

[docs]: https://plugins.jetbrains.com/docs/intellij

[docs:intro]: https://plugins.jetbrains.com/docs/intellij/intellij-platform.html?from=IJPluginTemplate

[docs:plugin.xml]: https://plugins.jetbrains.com/docs/intellij/plugin-configuration-file.html?from=IJPluginTemplate

[docs:publishing]: https://plugins.jetbrains.com/docs/intellij/publishing-plugin.html?from=IJPluginTemplate

[file:plugin.xml]: ./src/main/resources/META-INF/plugin.xml

[gh:code-samples]: https://github.com/JetBrains/intellij-sdk-code-samples

[gh:intellij-platform-gradle-plugin]: https://github.com/JetBrains/intellij-platform-gradle-plugin

[gh:intellij-platform-gradle-plugin-docs]: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin.html

[gh:intellij-platform-gradle-plugin-runIde]: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-tasks.html#runIde

[gh:intellij-platform-gradle-plugin-verifyPlugin]: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-tasks.html#verifyPlugin

[gradle:lifecycle-tasks]: https://docs.gradle.org/current/userguide/java_plugin.html#lifecycle_tasks

[jb:github]: https://github.com/JetBrains/.github/blob/main/profile/README.md

[jb:forum]: https://platform.jetbrains.com/

[jb:quality-guidelines]: https://plugins.jetbrains.com/docs/marketplace/quality-guidelines.html

[jb:paid-plugins]: https://plugins.jetbrains.com/docs/marketplace/paid-plugins-marketplace.html

[jb:quality-guidelines]: https://plugins.jetbrains.com/docs/marketplace/quality-guidelines.html

[jb:ipe]: https://jb.gg/ipe

[jb:ui-guidelines]: https://jetbrains.github.io/ui

## Colaborator
Very open to anyone, I'll write your name under this, please contribute by sending an email to me

- Mail To faisalamircs@gmail.com
- Subject : Github _ [Github-Username-Account] _ [Language] _ [Repository-Name]
- Example : Github_amirisback_kotlin_admob-helper-implementation

Name Of Contribute
- Muhammad Faisal Amir
- Waiting List
- Waiting List

Waiting for your contribute

## Attention !!!
- Please enjoy and don't forget fork and give a star
- Don't Forget Follow My Github Account