-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: allow to copy profile #2
Conversation
allow to use the command to copy in canvas with reading mode only activated
WalkthroughUne mise à jour majeure a été réalisée, permettant une personnalisation avancée de la fonction de copie. Cette mise à jour introduit des profils pour différents scénarios de copie, des options améliorées pour la gestion des liens, des notes de bas de page, et plus encore. Elle offre également la possibilité de configurer la copie de manière distincte pour les vues de lecture et d'édition, tout en soulignant certaines limitations. Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 7
Configuration used: CodeRabbit UI
Files ignored due to path filters (2)
src/i18n/locales/en.json
is excluded by:!**/*.json
src/i18n/locales/fr.json
is excluded by:!**/*.json
Files selected for processing (4)
- README.md (5 hunks)
- src/main.ts (1 hunks)
- src/modal.ts (4 hunks)
- src/settings.ts (2 hunks)
Additional comments: 10
README.md (4)
- 26-26: L'ajout de commandes pour chaque mode de copie est une bonne pratique pour augmenter l'accessibilité et la personnalisation. Cependant, vérifiez l'impact sur les performances avec l'ajout de multiples commandes.
- 51-58: Les options pour la gestion des liens et des notes de bas de page offrent une bonne flexibilité. Vérifiez que ces options sont bien documentées pour que les utilisateurs comprennent les implications de chaque choix.
- 64-64: La gestion des markdowns non conventionnels est une bonne idée. Assurez-vous que les transformations sont cohérentes et ne perturbent pas la structure originale du texte copié.
- 95-98: Les instructions d'installation sont claires et précises. Vérifiez que les liens vers BRAT et la page de release sont à jour et fonctionnels.
src/modal.ts (3)
- 4-4: L'importation de
GlobalSettings
et l'utilisation deprofileOptions
pour la sélection déroulante sont bien intégrées. Assurez-vous que les options disponibles sont toujours synchronisées avec les profils existants.- 134-138: La construction des options de profil est bien pensée. Vérifiez que l'interface utilisateur gère correctement les cas où aucun profil n'est défini ou lorsque des noms de profil sont dupliqués.
- 179-208: La logique de copie entre différents profils semble correcte. Assurez-vous que les tests couvrent tous les cas de figure possibles, notamment les transitions entre différents types de vues et profils.
src/main.ts (1)
- 160-194: La restructuration des conditions pour
separateHotkey
etapplyingTo
améliore la lisibilité. Assurez-vous que les commandes ajoutées fonctionnent comme prévu dans les modes éditeur et lecture.src/settings.ts (2)
- 168-170: Le changement du nom par défaut en "profile" et de l'icône en "layers-2" est une bonne mise à jour pour la clarté. Vérifiez que ces changements sont cohérents dans toute l'interface utilisateur.
- 318-331: L'ajout d'une classe et méthode pour gérer le style et la visibilité des boutons améliore la modularité. Vérifiez que cette approche est utilisée de manière cohérente dans tout le code.
## ⚙️ Settings | ||
|
||
You can adjust the way the content is copied in the settings. | ||
|
||
First, you need to set the view mode to use. You can choose between: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La sélection entre les modes de vue (reading
, editing
, all
) est une bonne fonctionnalité, mais assurez-vous que l'interface utilisateur rend clair à l'utilisateur quel mode est actuellement actif pour éviter toute confusion.
- Reading view (with checkCallback) | ||
- Editing view | ||
- Non markdown view (canvas, database-plugin...) | ||
|
||
Finally, you can to choose to override the default copy (from menu and the <kbd>CTRL</kbd>/<kbd>⌘</kbd> + <kbd>C</kbd>). Pretty useful for mobile! | ||
|
||
> [!Note] | ||
> The default copy is disabled on canvas, so I advice you to use the command separator to set an hotkey/button for "other" view & use the default copy on markdown view (reading and LP/source mode). | ||
> The default copy is disabled on canvas, so I advice you to use the command separator to set an hotkey/button for "other" view & use the default copy on markdown view (reading and LP/source mode). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La note sur la désactivation de la copie par défaut sur le canvas est utile. Assurez-vous que cette information est bien visible dans l'interface utilisateur pour éviter toute confusion chez les utilisateurs.
|
||
The reading view and editing view have ~ the same settings, but you need to set them separately. It will allow having different copy settings for each view. | ||
|
||
You can enable the overriding of native copy for each view, so it could be disabled for reading view and enabled for editing view (and vice versa). | ||
|
||
You can create "profile", that will add a command (after reloadig Obsidian), so you can create a profile for copying on Discord and use it some times. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La création de "profil" pour ajouter une commande est une fonctionnalité intéressante. Assurez-vous que l'interface de gestion des profils est intuitive et fournit un feedback clair sur les actions réalisées (création, modification, suppression de profils).
- `Type to strong` : Convert all in blockquote and transform the type to bold: `> [!info]` will become `> **Info**` (à la GitHub Callout) | ||
- `Simple blockquote` : Remove type, keep title and convert to blockquote. | ||
- Other: | ||
- Strict line breaks: Add two spaces at the end of each line | ||
- Regex replacement: You can add more replacement to the copy with the button that will open a modal. Note that the replacement will be done **after all other changes**. | ||
- Regex replacement: You can add more replacement to the copy with the button that will open a modal. Note that the replacement will be done **after all other changes**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
L'option de remplacement regex est puissante mais peut être complexe pour certains utilisateurs. Considérez d'ajouter des exemples ou un guide d'utilisation dans la documentation.
|
||
## 📝 Limitations | ||
|
||
- For a strange reason, the first line of a blockquote / list / callout is not selected totally properly as HTML. If you want to format only a part of this, you need to select the line before (or after). You can use "invisible" characters, `$~~$` for example. | ||
- For a strange reason, the first line of a blockquote / list / callout is not selected totally properly as HTML. If you want to format only a part of this, you need to select the line before (or after). You can use "invisible" characters, `$~~$` for example. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Les limitations mentionnées sont importantes à connaître pour les utilisateurs. Assurez-vous que ces limitations sont clairement expliquées et que des solutions de contournement sont proposées si possible.
@@ -137,6 +138,7 @@ | |||
- [x] French | |||
|
|||
To add a translation: | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
L'ajout de traductions est une excellente initiative pour rendre le plugin accessible à un public plus large. Assurez-vous que le processus de contribution est bien documenté pour encourager la communauté à participer.
|
||
new Setting(this.settingsPage) | ||
.setName(i18next.t("hotkey.title")) | ||
.setDesc(i18next.t("hotkey.desc")) | ||
.addToggle((toggle) => { | ||
toggle | ||
.setValue(this.settings.separateHotkey) | ||
.onChange(async (value) => { | ||
this.settings.separateHotkey = value; | ||
await this.plugin.saveSettings(); | ||
this.renderSettingsPage("global"); | ||
}); | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La gestion des raccourcis clavier séparés est une fonctionnalité utile. Assurez-vous que l'interface utilisateur permet une configuration facile et intuitive de ces raccourcis.
Summary by CodeRabbit