diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..f6f2288
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# *.md linguist-language=Swift
+*.json linguist-language=Swift
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..abe8b76
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,3 @@
+ko_fi: jaywcjlove
+buy_me_a_coffee: jaywcjlove
+custom: ["https://www.paypal.me/kennyiseeyou", "https://jaywcjlove.github.io/#/sponsor"]
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000..68d7563
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,63 @@
+name: 🙋♂️ [iconed] - Support & Feedback
+description: Get help with iconed, report bugs, or request features.
+title: '🙋♂️ Support & Feedback: iconed'
+labels: ['support', 'feedback', 'question']
+assignees:
+ - jaywcjlove
+body:
+ - type: markdown
+ attributes:
+ value: |
+ Please provide as much detail as possible about your support request or feedback.
+
+ Create and personalize icons from images, supporting macOS/iOS icon generation, folder icon creation, and setting.
+
+ ### Contact Information
+
+ If you encounter any issues or need support while using our app, please feel free to contact us through the following methods:
+
+ - **Email Support**: [kennyiseeyou@gmail.com](mailto:kennyiseeyou@gmail.com)
+ - **Social Media**: [Twitter](https://twitter.com/jaywcjlove)
+
+ We will respond to your message as soon as possible. Thank you for your support of our app!
+
+ - type: textarea
+ attributes:
+ label: 🙋♂️ How can we help you?
+ description: Describe the issue you're facing or the feature you'd like to request.
+ placeholder: For example, I'm experiencing an issue with...
+ validations:
+ required: true
+
+ - type: dropdown
+ id: os_version
+ attributes:
+ label: "💻 Desktop"
+ description: Your operating system and version.
+ options:
+ - macOS 15.0 (Sequoia)
+ - macOS 14.0 (Sonoma)
+ - iOS 18.0
+ - iOS 17.0
+ default: 0
+ validations:
+ required: true
+
+ - type: markdown
+ attributes:
+ value: |
+ **How can I send you a crash report for one of your apps?**
+
+ - macOS Open Finder
+ - Select Go to **Folder…** from the Go menu ⇧ + ⌘ + G
+ - Enter: **~/Library/Logs/DiagnosticReports**
+ - In the resulting list, select all files that starts with the app name, ZIP them, and send me
+ - Attach the file to this issue
+
+ - type: textarea
+ attributes:
+ label: ℹ️ Additional context
+ description: Add any additional information that could be helpful.
+ placeholder: ex. Screenshots, steps to reproduce, etc.
+ validations:
+ required: false
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/bug_report_cn.yml b/.github/ISSUE_TEMPLATE/bug_report_cn.yml
new file mode 100644
index 0000000..c299204
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report_cn.yml
@@ -0,0 +1,63 @@
+name: 🙋♂️ [iconed] - 支持与反馈
+description: "获取有关 iconed、报告错误或请求功能的帮助。"
+title: '🙋♂️ 支持与反馈: iconed'
+labels: ['support', 'feedback', 'question']
+assignees:
+ - jaywcjlove
+
+body:
+ - type: markdown
+ attributes:
+ value: |
+ 请提供有关您的支持请求或反馈的尽可能详细的信息。
+
+ 从图片创建和个性化图标,支持 macOS/iOS 图标生成,文件夹图标生成及设置。
+
+ ### 联系信息
+
+ 如果您在使用我们的应用时遇到任何问题或需要支持,请随时通过以下方式与我们联系:
+
+ - **电子邮件支持**: [kennyiseeyou@gmail.com](mailto:kennyiseeyou@gmail.com)
+ - **社交媒体**: [Twitter](https://twitter.com/jaywcjlove)
+
+ 我们会尽快回复您的消息,感谢您对我们应用的支持!
+
+
+ - type: textarea
+ attributes:
+ label: 🙋♂️ 您需要什么帮助?
+ description: 描述您面临的问题或您想要请求的功能。
+ placeholder: 例如,我遇到了问题...
+ validations:
+ required: true
+
+ - type: dropdown
+ id: os_version
+ attributes:
+ label: "💻 桌面"
+ description: 您的操作系统和版本。
+ options:
+ - macOS 15.0 (Sequoia)
+ - macOS 14.0 (Sonoma)
+ default: 0
+ validations:
+ required: true
+
+ - type: markdown
+ attributes:
+ value: |
+ **如何向我发送应用程序的崩溃报告?**
+
+ - 在 macOS 上打开 Finder
+ - 从“前往”菜单中选择 **前往文件夹…** ⇧ + ⌘ + G
+ - 输入:**~/Library/Logs/DiagnosticReports**
+ - 在出现的列表中,选择所有以应用程序名称开头的文件,将它们压缩成 ZIP 文件并发送给我
+ - 将文件附加到此问题中
+
+ - type: textarea
+ attributes:
+ label: ℹ️ 补充说明
+ description: 在此添加有关问题的其他上下文信息。
+ placeholder: 例如:截图、复现步骤等。
+ validations:
+ required: false
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..ddb578f
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: false
+contact_links:
+ - name: 🌐 iconed Official Website
+ url: https://wangchujiang.com/iconed/
+ about: Introduction to the iconed app on the official website!
\ No newline at end of file
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..8f32979
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,76 @@
+name: CI/CD
+on:
+ push:
+ branches:
+ - main
+
+jobs:
+ build-deploy:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+
+ - name: Create Tag
+ id: create_tag
+ uses: jaywcjlove/create-tag-action@main
+ with:
+ test: '[R|r]elease[d]\s+[v|V]\d(\.\d+){0,2}'
+
+ - name: Create Released Tag
+ uses: jaywcjlove/create-tag-action@main
+ with:
+ version: ${{ steps.create_tag.outputs.version }}
+ release: true
+ body: |
+
+
+
+
+ - name: Get latest tag
+ id: get_latest_tag
+ run: echo "LATEST_TAG=$(git describe --tags $(git rev-list --tags --max-count=1))" >> $GITHUB_ENV
+
+ - name: Create idoc config.
+ run: |
+ cat > idoc.yml << EOF
+ site: "Iconed {{version:${{ steps.create_tag.outputs.version }}}}"
+ keywords: Folder,FolderIcon,iconed,Icon
+ favicon: assets/logo.png
+ logo: ./assets/logo.png
+ openSource: https://github.com/jaywcjlove/iconed
+ tocs: false
+ element:
+ wrapper: style=max-width:720px;
+ menus:
+ Home: index.html
+ Apps: https://wangchujiang.com/#/app
+ About: https://wangchujiang.com/#/about
+ sideEffectFiles:
+ - README.md
+ - README.zh.md
+ - terms-of-service.md
+ - feedback.md
+ - feedback.zh.md
+ - terms-of-service.zh.md
+ - privacy-policy.md
+ - privacy-policy.zh.md
+ footer: |
+ App •
+ Projects •
+ Sponsor •
+ More Apps
+ Generated by idoc v{{idocVersion}}
+ EOF
+ - run: npm install idoc@1 -g
+ - run: idoc
+
+ - name: Deploy
+ uses: peaceiris/actions-gh-pages@v4
+ with:
+ commit_message: ${{ github.event.head_commit.message }}
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./dist
+
diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml
new file mode 100644
index 0000000..53648f9
--- /dev/null
+++ b/.github/workflows/tag.yml
@@ -0,0 +1,74 @@
+name: CI
+on:
+ push:
+ # branches:
+ # - main
+ tags:
+ - v*
+
+jobs:
+ tags:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Extract version from tag
+ id: extract_version
+ run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
+
+ - name: Create Tag
+ id: create_tag
+ uses: jaywcjlove/create-tag-action@main
+ with:
+ version: ${{ env.VERSION }}
+ release: true
+ body: |
+
+
+
+
+ - name: Create idoc config.
+ if: steps.create_tag.outputs.successful == 'true'
+ run: |
+ cat > idoc.yml << EOF
+ site: "Iconed {{version:${{steps.create_tag.outputs.version}}}}"
+ keywords: Folder,FolderIcon,iconed,Icon
+ favicon: assets/logo.png
+ logo: ./assets/logo.png
+ openSource: https://github.com/jaywcjlove/iconed
+ tocs: false
+ element:
+ wrapper: style=max-width:720px;
+ menus:
+ Home: index.html
+ Apps: https://wangchujiang.com/#/app
+ About: https://wangchujiang.com/#/about
+ sideEffectFiles:
+ - README.md
+ - README.zh.md
+ - terms-of-service.md
+ - feedback.md
+ - feedback.zh.md
+ - terms-of-service.zh.md
+ - privacy-policy.md
+ - privacy-policy.zh.md
+ footer: |
+ App •
+ Projects •
+ Sponsor •
+ DevHub •
+ More Apps
+ Generated by idoc v{{idocVersion}}
+ EOF
+
+ - run: npm install idoc@1 -g
+ - run: idoc
+
+ - name: Deploy
+ uses: peaceiris/actions-gh-pages@v4
+ with:
+ commit_message: ${{ github.event.head_commit.message }}
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./dist
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..edf8783
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,19 @@
+dist
+
+.DS_Store
+.cache
+.vscode
+.idea
+
+*.bak
+*.tem
+*.temp
+#.swp
+*.*~
+~*.*
+
+# IDEA
+*.iml
+*.ipr
+*.iws
+.idea/
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f62dc29
--- /dev/null
+++ b/README.md
@@ -0,0 +1,35 @@
+
+ 中文 +
+ + +Feedback & Support +=== + +This tool makes it easy to create and personalize icons from images, supporting macOS/iOS icon generation, folder icon creation, and setting. + +Your feedback and support are invaluable! If you encounter any issues, have questions, or want to suggest new features, please don't hesitate to reach out. Your input helps improve this tool and ensures it provides the best possible experience. + +You can contact me through the app or by emailing **kennyiseeyou@gmail.com**. I am committed to assisting you and ensuring a smooth and enjoyable experience. Thank you for choosing this tool! + +### Contact Information + +If you need support or encounter any issues while using the application, feel free to reach out via the following channels: + +- [**Email Support**: kennyiseeyou@gmail.com](mailto:kennyiseeyou@gmail.com) +- [**Social Media**: Twitter/x @jaywcjlove](https://twitter.com/jaywcjlove) +- [**GitHub Issue**](https://github.com/jaywcjlove/iconed/issues/new/choose) + +I will respond to your messages as quickly as possible. Thank you for your support! diff --git a/feedback.zh.md b/feedback.zh.md new file mode 100644 index 0000000..dea89ea --- /dev/null +++ b/feedback.zh.md @@ -0,0 +1,23 @@ ++ English +
+ + +反馈与支持 +=== + +这个工具可以轻松从图片创建和个性化图标,支持 macOS/iOS 图标生成,文件夹图标生成及设置。 + +你的反馈和支持非常重要!如果你遇到任何问题、有疑问,或想提出新功能建议,请随时联系我们。你的意见将帮助我们改进这个工具,确保为你提供最佳使用体验。 + +你可以通过应用内或发送邮件至 **kennyiseeyou@gmail.com** 联系我们。我致力于为你提供支持,确保你拥有流畅、愉快的使用体验。感谢你选择这个工具! + +### 联系方式 + +如果你在使用过程中需要支持或遇到问题,可以通过以下渠道联系我们: + +- [**邮件支持**: kennyiseeyou@gmail.com](mailto:kennyiseeyou@gmail.com) +- [**社交媒体**: Twitter/x @jaywcjlove](https://twitter.com/jaywcjlove) +- [**GitHub 问题反馈**](https://github.com/jaywcjlove/iconed/issues/new/choose) + +我会尽快回复你的消息。感谢你对本工具的支持! \ No newline at end of file diff --git a/privacy-policy.md b/privacy-policy.md new file mode 100644 index 0000000..55d55cd --- /dev/null +++ b/privacy-policy.md @@ -0,0 +1,49 @@ ++ 中文 +
+ + +Privacy Policy +=== + +Thank you for using iconed! We take your privacy seriously and are committed to protecting any personal information you provide while using our tool. This privacy policy outlines how we collect, use, disclose, and protect your information. + +## Information Collection + +iconed is a local tool that does not collect, store, or process any user data. We do not transmit any information from iconed to remote servers or third-party services. + +### a. **Local Data Storage** + +- All data within iconed, including settings and file operations, is stored locally on your device. +- We do not collect or access this data, nor do we send it to any external servers. + +### b. **Log Data** + +We do not collect any log data or usage information. iconed operates entirely offline, with all data operations occurring locally on your device. + +## Use of Data + +iconed does not collect, store, or analyze any user information. Therefore, we do not use or share your personal data in any way. + +## Third-Party Services + +iconed does not integrate with any third-party services or ad platforms, so your information will not be shared or sold to any third parties. + +## Data Security + +We prioritize the security of your data. Since iconed does not collect or transmit any data, all content, settings, and file operations are securely stored on your device, protected by the security measures of your operating system. + +## User Control + +- You can delete all data and settings from iconed at any time. The app does not back up your data to the cloud, and all data remains under your control. +- Upon uninstalling the app, all data will be permanently deleted from your device. + +## Changes to Privacy Policy + +We may update this privacy policy from time to time. For significant changes, we will notify you via the app or through our website. Please check this page regularly to stay informed about the latest privacy policy. + +## Contact Us + +If you have any questions about our privacy policy or need help managing your information, please contact us at: [kennyiseeyou@gmail.com](mailto:kennyiseeyou@gmail.com). + +This policy is effective as of December 24, 2024. \ No newline at end of file diff --git a/privacy-policy.zh.md b/privacy-policy.zh.md new file mode 100644 index 0000000..1cdf551 --- /dev/null +++ b/privacy-policy.zh.md @@ -0,0 +1,49 @@ ++ English +
+ + +隐私政策 +=== + +感谢您使用 iconed!我们非常重视您的隐私,并承诺保护您在使用我们的工具时提供的任何个人信息。本隐私政策详细说明了我们如何收集、使用、披露和保护您的信息。 + +## 信息收集 + +iconed 是一款本地工具,不会收集、存储或处理用户的任何个人数据。我们不会通过 iconed 向远程服务器或第三方服务传输任何信息。 + +### a. **本地数据存储** + +- iconed 的所有数据,包括设置和文件操作,均存储在您的设备本地。 +- 我们不会收集或访问这些数据,也不会将其发送至任何外部服务器。 + +### b. **日志数据** + +我们不收集任何日志数据或使用信息。iconed 完全离线运行,所有的数据操作均在您的设备本地完成。 + +## 数据的使用 + +iconed 不会收集、存储或分析任何用户信息。因此,我们不会以任何方式使用或分享您的个人信息。 + +## 第三方服务 + +iconed 不会与任何第三方服务或广告平台集成,因此您的信息不会被共享或出售给任何第三方。 + +## 数据安全 + +我们非常重视您数据的安全性。由于 iconed 不会收集或传输任何数据,所有内容、设置和文件操作都安全地存储在您的设备上,受操作系统的安全措施保护。 + +## 用户控制 + +- 您可以随时删除 iconed 应用中的所有数据和设置。应用不会将您的数据备份到云端,所有数据完全由您控制。 +- 卸载应用后,所有数据将从您的设备中永久删除。 + +## 隐私政策的变更 + +我们可能会不时更新本隐私政策。如有重大变更,我们会通过应用内或官方网站通知您。请定期查看此页面,以了解最新的隐私政策。 + +## 联系我们 + +如果您对我们的隐私政策有任何疑问或需要帮助管理您的信息,请通过以下邮箱联系我们:[kennyiseeyou@gmail.com](mailto:kennyiseeyou@gmail.com)。 + +本政策自 2024 年 12 月 24 日起生效。 \ No newline at end of file diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..5db72dd --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ] +} diff --git a/terms-of-service.md b/terms-of-service.md new file mode 100644 index 0000000..bdab71b --- /dev/null +++ b/terms-of-service.md @@ -0,0 +1,53 @@ ++ 中文 +
+ + +Terms of Service +=== + +Welcome to iconed! By using our application, you agree to the following terms and conditions (“Terms”). Please read these terms carefully before using iconed. These terms apply to all users of iconed. + +## Acceptance of Terms + +By downloading, accessing, or using iconed (“the App”), you agree to be bound by these terms. If you do not agree to these terms, you may not use the App. + +## Intellectual Property + +The App and its content, including but not limited to all icons, logos, designs, and other intellectual property, are the exclusive property of iconed and its development team. You are granted a limited, non-exclusive, non-transferable license for personal, non-commercial use of the App. + +## User Responsibilities + +You are solely responsible for your behavior while using the App, ensuring that your use complies with all applicable laws and regulations. You are responsible for maintaining the confidentiality of data on your device and preventing unauthorized use. + +## Privacy + +We value your privacy. For details on how we collect, use, and protect your personal information, please refer to our [privacy policy](./privacy-policy.en.md). + +## App Changes + +We reserve the right to modify, update, or discontinue the App at any time without notice. We do not take responsibility for any changes, interruptions, or suspensions of the App. + +## Donation Support + +iconed is a free application, and all features are available at no cost. If iconed helps you, you can support our development work through donations. If you wish, you can “buy me a coffee” to help us continue maintaining and optimizing this app. Donations are appreciated but are not required to use any features. + +## Limitation of Liability + +To the maximum extent permitted by law, iconed and its developers are not liable for any damages arising out of or related to your use of the App. This includes but is not limited to loss of data, system failures, or business interruptions. + +## Governing Law + +These terms will be governed by and construed in accordance with the laws of your jurisdiction, without regard to its conflict of law principles. + +## Changes to Terms + +We reserve the right to modify these terms at any time. If we make significant changes to the terms, we will notify you within the app or on our website. By continuing to use the App after changes become effective, you agree to the new terms. + +## Contact Us + +If you have any questions about our privacy policy or terms of service, or if you would like to provide feedback or suggestions, please contact us through the “About Us” page within the app. We are committed to protecting your personal information and will not disclose your user data to third parties without your consent. + +You can also reach us at **kennyiseeyou@gmail.com**, and we will respond to your inquiries as soon as possible. + +These terms were last updated on December 24, 2024. \ No newline at end of file diff --git a/terms-of-service.zh.md b/terms-of-service.zh.md new file mode 100644 index 0000000..124652c --- /dev/null +++ b/terms-of-service.zh.md @@ -0,0 +1,53 @@ ++ English +
+ + +服务条款 +=== + +欢迎使用 iconed!使用我们的应用程序即表示您同意以下服务条款(“条款”)。在使用 iconed 之前,请仔细阅读这些条款。此条款适用于所有 iconed 用户。 + +## 接受条款 + +通过下载、访问或使用 iconed(“本应用”),您同意遵守并受这些条款的约束。如果您不同意这些条款,则不得使用本应用。 + +## 知识产权 + +本应用及其内容,包括但不限于所有图标、标志、设计和其他知识产权,均为 iconed 及其开发团队的独有财产。您仅被授予个人、非商业用途的有限、非排他性、不可转让的许可,以使用本应用。 + +## 用户责任 + +您对使用本应用的行为负全部责任,需确保您的使用符合所有适用的法律法规。您有责任维护设备上数据的机密性,并防止未经授权的使用。 + +## 隐私 + +我们非常重视您的隐私。有关我们如何收集、使用和保护您的个人信息的详细信息,请参阅我们的[隐私政策](./privacy-policy.zh.md)。 + +## 应用变更 + +我们保留在任何时候修改、更新或停止本应用的权利,恕不另行通知。对于应用的任何变更、暂停或中止,我们不对您或任何第三方承担责任。 + +## 捐赠支持 + +iconed 是一款免费的应用程序,所有功能均可免费使用。如果 iconed 对您有所帮助,您可以通过捐赠来支持我们的开发工作,“请我喝杯咖啡”,帮助我们继续维护和优化这款应用。当然,不捐赠也不会影响任何功能的使用。 + +## 责任限制 + +在法律允许的最大范围内,iconed 及其开发者不对因您使用本应用所引起或与之相关的任何损害承担责任。这包括但不限于因数据丢失、系统故障或业务中断而造成的损失。 + +## 法律适用 + +本条款将受您所在司法管辖区的法律管辖,并依据其解释,而不考虑法律冲突原则。 + +## 条款的变更 + +我们保留随时修改这些条款的权利。如果我们对条款进行重大更改,我们将在应用内或通过我们的官方网站通知您。更改生效后,您继续使用本应用即表示您接受新的条款。 + +## 联系我们 + +如您对我们的隐私政策或服务条款有任何疑问,或希望提出意见和建议,请通过应用内的「关于我们」页面联系我们。我们承诺保护您的个人信息安全,未经您的同意,我们不会向第三方披露您的用户数据。 + +您也可以通过 **kennyiseeyou@gmail.com** 联系我们,我们将尽快回复您的问题。 + +本服务条款最后更新于 2024 年 12 月 24 日。 \ No newline at end of file