İBooks’un her zaman kopyaladığımın “alıntıyı” yapıştırmasını istemeyin


30

İBooks ve diğer bazı kaynakları okudum ve notlarımı EverNote'ta topladım. EverNote gibi başka bir harici uygulamada bir not olarak tutmak için iBooks'dan bir metin kopyaladığımda, sinir bozucu olan kaynak bilgisini yapıştırmaya devam ediyor ve her kopyala-yapıştır işleminden sonra bunları silmeye devam etmem gerekiyor. Örneğin:

“To bind this class using Ninject, I specify the value of the constructor parameter using the WithConstructorArgument method in the AddBindings method, as shown in Listing 6-20.”

Excerpt From: Adam Freeman. “Pro ASP.NET MVC 5.” iBooks. https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewBook?id=4CB3769B56E7D2A905C0332D53D7E31D

2
Bundan kaçınamazsın. Apple, yasal ve telif hakkı nedeniyle bu şekilde programladı. Bu yüzden sizin için kötü bir haber buna alışmak gerekir. :-(
konqui

bir Automator Script oluşturabilirsin - ama Metin Kopyalama + Yapıştırma İşlemini düzenleyebilir misin, emin değilim ...
bMalum

3
Gerçekten cümleleri kopyalamaya hakkınız olduğunda bu gerçekten can sıkıcıdır : '(
Rubens Mariuzzo

1
Buraya geldi, çünkü Swift kitabındaki örnekleri yapıştırmak berbat. İBooks'tan literatür almak için bir neden daha var, ancak Kindle'daki tüm programlama kitapları.
Dirk Bester

2
@konqui Bu hakkı silebileceğimizi biliyorlar. Çok akıllıca değil. Temel bir görev için can sıkıcı bir kazandır.
atilkan

Yanıtlar:


11

Bu blog yazısı , klavye kısayollu bir Automator betiği kullanarak nasıl yapılacağına bir örnek verir.

Automator'da, giriş almayan yeni bir Servis oluşturun. Bu üç işlemi yap:

  1. Pano İçeriğini Alın
  2. Kabuk Betiğini Çalıştır
  3. Panoya kopyala

Bunu Shell Komut Dosyasını Çalıştır eylemine ekleyin:

# strip out iBooks citation
sed -E -e 's/^[ ]?[0-9]* //g' | sed -E -e 's/“[ ]?[0-9]?[ ]?//g' | sed -E -e 's/”$//g'  | sed -E -e 's/^(Excerpt From).*//g'

Automator'da “iBooks alıntılarını kaldır” servisi

Hizmeti kaydettikten sonra I, Sistem Tercihleri> Klavye> Kısayollar> Servisler gibi bu işleme bir kısayol atayabilirsiniz . Sonra iBooks'un eklediği metinden kurtulmak istiyorsanız yapıştırmadan önce bu kısayola basarsınız.


Teşekkürler Amir, süper yardımsever, bu beni yıllardır rahatsız ediyor!
GGx - Monica Cellio'yu yeniden kazanın

Bu gerçekten gerçekten gerçekten sorunlu değil mi? Yapıştırdığınız kopyaladığınız başka bir şey için regex eşleşmesi olursa ne olur?
t0mgs

@ t0mgs o zaman yapıştırmadan önce atanmış kısayolu kullanmazsınız
Martin

Meşru sanırım. Teşekkürler!
t0mgs

5

Aşağıdaki AppleScript'i tetiklemek için Keyboard Maestro kullanabilirsiniz:

set original_clipboard to the clipboard
set paragraph_count to count of paragraphs of original_clipboard
-- assuming the last two paragraphs are what you want to strip out--
-- that is, the blank line and the attribution
set new_clipboard to paragraphs 1 thru -2 of original_clipboard as string
set the clipboard to new_clipboard
-- now you can paste

Maestro Klavyesi ile bazı tuş vuruşu (belki Command-Option-V) tarafından tetiklenen yeni bir makro oluşturacak ve ilk adım yukarıdaki betiği kullanarak bir "AppleScript Yürüt" (Yürüt bölümünde) olacaktır. Bir sonraki adım bir "Yapıştır" (Pano bölümünde) olacaktır. Metninizi kopyalar, ardından yapıştırmak istediğiniz yere tıklar ve son iki paragraf olmadan yapıştırmak için Command-Option-V tuşlarına basın.

Diğer makro programlar, bir AppleScript'in nasıl çalıştırılacağını bildikleri sürece işe yarayacaktır.


Çözümünüzü kullandım, ancak sonuçta tırnak işareti var. Çevreleyen tırnak işaretlerinin kaldırılması için bundan nasıl kurtulurum?
Michael Jaq

Harici bir programa bile ihtiyacınız olmamalı - AppleScript'i bir otomatik servis servisine koyun, ardından otomatik servis servisini klavye kısayoluna ayarlayın.
Wowfunhappy 29:18

@MichaelJaq Benim cevabım , tırnak işaretlerini soyan Keyboard Maestro için bir makro içeriyor.
Rory O'Kane

@MichaelJaq bu metodu, bu dizideki kabuk betiği ile birlikte kullanabilir ve alıntıyı kaldıracaktır. "Bir AppleScript Yürüt" seçeneğini "Kabuk Betiğini Yürüt" olarak değiştirin. Bu AppleScript bunları yalnızca kısmi bir sonuç olarak kaldırmadı.
MarkBTomlinson

3

İstenmeyen bilgileri almak için ClipMenu (macOS clipboard yardımcı programı) için bir komut dosyası oluşturdum :

return clipText.replace(/^“/, '').replace(/”\s*Excerpt.*iBooks\.\s?$/, '');

Farklı kaydet /Users/USERNAME/Library/Application Support/ClipMenu/script/action/iBooks.js


3

İBooks'tan metin kopyalama adımları aşağıda verilmiştir:

  1. Kopyalamak istediğiniz bölümleri vurgulayın.
  2. Bir açılır pencere otomatik olarak açılır veya seçilen bölümlere sağ tıklayarak bir açılır pencere açmanız gerekir.
  3. Açılır pencereden 'Not Ekle' seçeneğini seçin.
  4. Seçilen / vurgulanan metin sol bölmede gösterilecektir.
  5. Sol paneldeki bölümlere sağ tıklayın ve 'Kopyala' seçeneğini seçin.

Nasıl çalıştığını göstermek için bir video oluşturdum: https://youtu.be/ZQLl_Gl9TMw

Mutlu kodlama!


> Seçilen / vurgulanan metin sol bölmede gösterilecektir. Ne sol bölmesi? Bu yanlış. Sol bölmede hiç yok yok
Green

3

İşte metnin iBooks'tan kopyalandığı an, tırnak işaretleri de dahil olmak üzere fazladan metni şeritlemek için bir Klavye Maestro makrosunun nasıl ayarlanacağı .

İlk önce “iBooks-spesifik mapping” adlı bir makro grubu oluşturun ve “Bu uygulamalarda mevcut” içine iBooks ekleyin. (Daha yeni macOS sürümlerinde, uygulama iBooks yerine Books olarak adlandırılır.)

Klavye Maestro'da “iBooks-spesifik haritalama” grubu

Ardından “Alıntı Vermeden Kopyala” adlı bir makro oluşturun. Kısayol tuşu atayın C. Makroya aşağıdaki işlemleri yapın:

  1. Pano> Kopyala
  2. Pano> Arama ve Değiştirme
    • Ara: Sistem Panosu
    • için: Normal İfade (büyük / küçük harfe duyarlı)
      • ^“
    • ve ile değiştirin:
      • (boş bırakın)
  3. Pano> Arama ve Değiştirme
    • Ara: Sistem Panosu
    • için: Normal İfade (büyük / küçük harfe duyarlı)
      • ”\s*Excerpt.*Books\.\s?$
    • ve ile değiştirin:
      • (boş bırakın)

Klavye Maestro'da şöyle görünecek:

Klavye Maestro'da “Alıntı Yapmadan Kopyala” makrosu

Şimdi iBooks'taki o klavye kısayolu kullanılarak kopyalanan herhangi bir metin, her iki uçtan da çıkarılmış ekstra metne sahip olacaktır.


Filip Suk'un normal ifadelere cevabı sayesinde .
Rory O'Kane

İBooks'u "Kitaplar" ile değiştirenler için, sadece son RegEx ile”\s*Excerpt.*Books\.\s?$
Tim N.

@TimN. Teşekkürler. Yanıtı ve ekran görüntülerini o regex'i kullanacak şekilde güncelledim, çünkü o regex her iki uygulama adı için de çalışmalı.
Rory O'Kane

1

Amir Raminfar'ın cevabından. Bu, doğrudan panoya içerik kaydetmek için Komut C olmadan kopyalamayı istiyorsanız budur.

sadece Workflow'un şu anki değeri olarak değiştirmesi: "Books.app" içindeki "text" ve Clipboard içeriğini devre dışı bırakmak.


Farklı sormaya hoş geldiniz. Bu, önceki bir Cevaba yapılan bir yorumdur ve tek başına bir Cevap değildir. Kendi cevabı olmamalı. Lütfen burada cevapların sağlanmasına ilişkin ipuçları için Nasıl Cevaplanacağı konusuna bakın . - Şu kaynaktan
fsb
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.