يقوم Bogrep بتنزيل وذاكرة التخزين المؤقت لإشاراتك المرجعية في نص عادي بدون صور أو مقاطع فيديو. استخدم Bogrep CLI لتشغيل الإشارات المرجعية الخاصة بك في البحث عن النص الكامل.
bogrep -i " reed-solomon code " 
# Build and install bogrep binary to ~/.cargo/bin
cargo install bogrep لتحديث Bogrep إلى إصدار جديد ، قم بتشغيل cargo install bogrep مرة أخرى. الإصدارات 0.x لن تكون متوافقة مع الوراء ومن المتوقع أن تتغير التغييرات. قم بإزالة دليل تكوين Bogrep (انظر أنظمة التشغيل المدعومة) إذا واجهت مشكلة عند تشغيل Bogrep.
git clone [email protected]:quambene/bogrep.git
cd bogrep
# Build and install bogrep binary to ~/.cargo/bin
cargo install --path . يتم تثبيت الإعدادات وذاكرة التخزين المؤقت لمسار التكوين ، بعد تشغيل Bogrep لأول مرة. يعتمد مسار التكوين على نظام التشغيل الخاص بك (انظر أنظمة التشغيل المدعومة).
# Initialize bookmark sources
bogrep init
# Import bookmarks from selected sources
bogrep import
# Fetch and cache bookmarks
bogrep fetch
# Search your bookmarks in full-text search
bogrep < pattern > لمحاكاة استيراد الإشارات المرجعية ، استخدم bogrep import --dry-run .
bogrep [OPTIONS] [PATTERN]Options:
-v, --verbose...
-m, --mode <MODE> Search the cached bookmarks in HTML or plaintext format [possible values: html, text]
-i, --ignore-case Ignore case distinctions in patterns
-l, --files-with-matches Print only URLs of bookmarks with matched lines
-h, --help Print help
-V, --version Print version # Check version
bogrep --version
# Print help
bogrep --help
# Print help for subcommands
bogrep config --help
bogrep import --help
bogrep fetch --helpيتم دعم استيراد الإشارات المرجعية من المتصفحات التالية:
.json و .jsonlz4 تنسيق).json ).json ).json.plist ) إذا لم يتم اكتشاف ملفات الإشارة المرجعية عن طريق bogrep import ، فيمكنك تكوينها يدويًا باستخدام:
bogrep config --source ~ /path/to/bookmarks/fileتصفية التي يتم استيراد المجلدات المرجعية. يتم فصل مجلدات متعددة بواسطة مساحات بيضاء:
bogrep config --source " my/path/to/bookmarks_file.json " --folders dev science articlesتجاهل عناوين URL محددة. لن يتم جلب محتوى عناوين URL هذه وتخزين مؤقت.
قد يكون من المفيد تجاهل عناوين URL لمنصات الفيديو أو الموسيقى والتي لا تتضمن عادةً النص ذي الصلة لـ GREP.
# Ignore one or more urls
bogrep config --ignore < url 1> < url 2> ...جلب عناوين URL الأساسية لمواقع الويب المدعومة:
bogrep config --underlying < url 1> < url 2> ... على سبيل المثال ، إذا تم وضع علامة URL محددة مثل https://news.ycombinator.com/item?id=00000000 ، فسيتم جلب المقالة الأساسية وتخزينها مؤقتًا.
المجالات المدعومة هي:
إحضار الفرق بين موقع الويب المخزوف المخزن المؤقت وتجلبه لعنوان URL متعددة ، وتغييرات العرض:
bogrep fetch --diff < url 1> < url 2> ... إذا كنت بحاجة إلى إضافة عناوين URL محددة إلى فهرس البحث ، فاستخدم bogrep add Formomand.
# Add URLs to search index
bogrep add < url 1> < url 2> ...
# Remove URLs from search index
bogrep remove < url 1> < url 2> ...
# Add URLs to search index and fetch content from URLs
bogrep fetch < url 1> < url 2> ... ~/.config/bogrep جلب الإشارات المرجعية من نفس المضيف محافظة ، ولكن يمكن أيضًا تكوينه في settings.json .
{
"cache_mode" : " text " ,
"max_concurrent_requests" : 100 ,
"request_timeout" : 60000 ,
"request_throttling" : 3000 ,
"max_idle_connections_per_host" : 10 ,
"idle_connections_timeout" : 5000
} حيث يكون request_throttling هو وقت الانتظار بين طلبات نفس المضيف بالمللي ثانية.
السرعة أيضًا ، قم بتعيين max_concurrent_requests إلى 1000 على سبيل المثال. يعتمد الحد الأقصى لعدد المقابس المتاحة على نظام التشغيل الخاص بك. قم بتشغيل ulimit -n لإظهار الحد الأقصى لعدد المقابس المفتوحة المسموح به على نظامك.
للاطلاع على الإعدادات المتاحة ، راجع https://docs.rs/bogrep/latest/bogrep/struct.settings.html.
يفترض Bogrep ويخلق مسار تكوين في
$HOME/.config/bogrep for Linux ،$HOME/Library/Application Support/bogrep for MacOs ،C:Users<Username>AppDataRoaming/bogrep for Windows ، في الدليل المنزلي لتخزين settings.json json ، bookmarks.json ، و cache Folder.
يمكنك تكوين مسار التكوين عبر البيئة المتغير BOGREP_HOME .
إذا كانت أذونات الملفات مفقودة لـ BOGREP ، فاسمح لتطبيقات CLI بالوصول إلى نظام الملفات في تفضيلات النظام.
البحث الافتراضي BOGREP حساس للحالة. جرب bogrep -i للبحث غير الحساس للحالة.
# Run unit tests and integration tests
cargo test
# Run unit tests
cargo test --lib
# Run integration tests
cargo test --test ' * '