Git Product home page Git Product logo

Comments (13)

tohagan avatar tohagan commented on June 8, 2024 10

Ideally I think you'd allow the user to create custom link styles. One solution would be to allow a user to create one or more named link styles (Markdown, Dockuwiki, MediaWiki, HTML ... whatever) and then define a link text template for each style ...

  • Markdown = "[${title}](${link})"
  • Dokuwiki = " [[${link}|${title}]]"
  • HTML= "<a href='${link}'>${title}</a>"

The user would then select this named style when they copy a link.

Users like me are likely to want to frequently use all the different link styles at different times and so be able to quickly choose the link format when I copy a link (not have to navigate inside the extension options to re-select a link style every time). So if you added this I'd make the link styles names appear on the link menu that appears when you perform the link copy. They could appear be a "checked" menu option that does not close the menu.

So your menu might be ...

  • Current Tab
  • All Tabs
  • Selected Tabs
  • ---- Divider -----
  • Markdown
  • Dokuwiki
  • HTML

The options can be hidden if only one style (Markdown) is defined.

from copy-as-markdown.

sebastienbarre avatar sebastienbarre commented on June 8, 2024 3

This looks great. At this point you are one of the only Copy Link extensions that is multiprocess. Ideally I would love for it to do everything the CoLT extension used to do (especially the "Copy Link Text" menu item, which copies a hyperlink's associated text to the clipboard).

from copy-as-markdown.

sgourichon avatar sgourichon commented on June 8, 2024 3

Another overnight-obsoleted extension is Easy Copy.

Easy Copy has been on my shortlist of best extensions for years

It has a simple yet very flexible configuration system which basically allows you to generated whatever markup language you need, while supporting many uses cases. Examples:

  • don't select anything, copy -> becomes link to the page, with page title as link text
  • select any snippet of text in the page, copy -> becomes link to the page, with the text you selected as link text <<== the one I use most
  • don't select anything, right-click on link, copy -> same result as precisely selecting the link and copying it, just much easier
  • the simple and powerful configuration options allow to provide the behavior of CoLT.
  • copy all tabs as links (all this, whatever markup language)

Screenshots

use

configuration

Conclusion

  • Praise "copy-as-markdown" for being compatible with Firefox 57+!
  • I guess it can technically be extended to support all this. If would be soo great!

from copy-as-markdown.

the-solipsist avatar the-solipsist commented on June 8, 2024 1

This feature would be very welcome!

from copy-as-markdown.

yorkxin avatar yorkxin commented on June 8, 2024 1

@tohagan Thank you for your suggestion. In fact I sometimes also have need to copy links in non-Markdown format e.g. RTF, in order to paste to rich text editors like Dropbox Paper. I think the UI you proposed is simple and easy to understand. I will consider working on this feature :)

from copy-as-markdown.

keisuke-nakata avatar keisuke-nakata commented on June 8, 2024 1

Recent Firefox update destroyed almost all plugins which provide "copy link as something", except for this plugin.
Supporting "copy link as HTML, or any format you specify" feature is very helpful for Firefox users.

from copy-as-markdown.

malcook avatar malcook commented on June 8, 2024

if you do this:

another useful format is that of org-mode, which is
[[url][text]]

and another is as html link(s)

from copy-as-markdown.

tohagan avatar tohagan commented on June 8, 2024

Thanks very much πŸ‘ I think it will be a really valuable addition and hopefully not that hard to code

from copy-as-markdown.

jmfayard avatar jmfayard commented on June 8, 2024

Hello @chitsaou
Just wanted to say that i like your plugin a lot.
Do you have plans to implement this feature?
That would make it instantly 2 times better.

Please add as well Asciidotor format: http://example.com[Title of the webpage]

from copy-as-markdown.

bhrutledge avatar bhrutledge commented on June 8, 2024

Thanks for this extension! I frequently use it to copy a bunch of tabs into my Markdown notes. However, I prefer - over * for my list bullets. Can that be added as an option?

Expected Behavior

Set a preference for list bullet to -, then "All tabs link" or "Selected tabs link" would copy:

- [chitsaou/copy-as-markdown: Copying Link, Image and Tab(s) as Markdown Much Easier.](https://github.com/chitsaou/copy-as-markdown)
- [Copy as Markdown - Chrome Web Store](https://chrome.google.com/webstore/detail/copy-as-markdown/fkeaekngjflipcockcnpobkpbbfbhmdn?hl=en)
- [Copy as Markdown – Get this Extension for 🦊 Firefox (en-US)](https://addons.mozilla.org/en-US/firefox/addon/copy-as-markdown/)

Actual Behavior

* [chitsaou/copy-as-markdown: Copying Link, Image and Tab(s) as Markdown Much Easier.](https://github.com/chitsaou/copy-as-markdown)
* [Copy as Markdown - Chrome Web Store](https://chrome.google.com/webstore/detail/copy-as-markdown/fkeaekngjflipcockcnpobkpbbfbhmdn?hl=en)
* [Copy as Markdown – Get this Extension for 🦊 Firefox (en-US)](https://addons.mozilla.org/en-US/firefox/addon/copy-as-markdown/)

from copy-as-markdown.

roryokane avatar roryokane commented on June 8, 2024

Like @bhrutledge, I would prefer my copied text use - as the list bullet instead of *. I don’t have time right now to try to edit this extension, but here are some notes towards developing that feature.

This is the function that writes * as the list bullet:

export function list(theList) {
return theList.map((item) => `* ${item}`).join('\n');
}

The simplest edit to that file that would support customizing the list bullet and nothing else might be this:

export function list(theList) {
  const bulletCharacter = userOptions.bulletCharacter || '*';
  return theList.map((item) => `${bulletCharacter} ${item}`).join('\n');
}

Then src/lib/options-manager.js would need to be edited to support storing a bulletCharacter option, and src/ui/options.js and src/ui/options.html would have to be edited to support the user editing that option. The editing interface would be either radio buttons or a pop-up menu. The buttons or menu would have two options: * and -.

The template-based customization feature described in tohagan’s comment sounds more useful than just being able to customize the bullet character, and it would solve my problem. However, it sounds more complicated to implement.

from copy-as-markdown.

roryokane avatar roryokane commented on June 8, 2024

As an alternative to adding an bullet customization option as I described above, we could change the hard-coded bullet character from * to - by editing the list function. Do any current users of the extension (including its author) actively prefer * over -, or was * an arbitrary choice? I prefer - for various reasons, including that it matches Prettier’s Markdown formatting.

from copy-as-markdown.

yorkxin avatar yorkxin commented on June 8, 2024

Related: #98

from copy-as-markdown.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.