شارك كودك بشكل جميل مع سيليكون

مقدمة

كم مرة وددت أن تقوم بمشاركة الكود الخاص بك في محادثة ما او لأنشاء تدوينة ما و لم تساعدك أدوات تنسيق النص المتاحة

هل أعتدت علي أخد لقطات شاشة لمحرر الكود الخاص بك و تجد الموضوع غير عملي و تتمني لو تستطيغ القيام بأتمتته

خلفية البرنامج

يأتي البرنامج كبديل لبرنامج أخر يقوم بنفس الوظيفة و لكن يعتمد علي الأنترنت

تمت كتابة هذا البرنامج باستخدام لغة rust حديثا مما يجعله يفتقر الي بعض مميزات التخصيص الإضافيه الموجودة في carbon و يأتي كبديل يعمل بدون انترنت مما يجعله افضل من ناحية السرعة و الإستقرار بالإضافة لكونه برنامج طرفية مما يعطيك القدرة علي تخصيصة و اضافة اختصارات لجعل عملية تحويل الكود بصورة اسرع و أكثر عملية

التثبيت

ارش و ما بني عليها

  • تنزيل الإعتماديات
sudo pacman -S --needed pkgconf freetype2 fontconfig libxcb xclip
  • تنزيل البرنامج من مستودعات ارش
sudo pacman -S silicon

أبونتو و ما بني عليها

  • تنزيل الأعتماديات
sudo apt install expat
sudo apt install libxml2-dev
sudo apt install pkg-config libasound2-dev libssl-dev cmake libfreetype6-dev libexpat1-dev libxcb-composite0-dev
  • تنزيل البرنامج باستخدام مدير حزم رست cargo

cargo install silicon

فيدورا

  • تنزيل الإعتماديات
sudo dnf install cmake expat-devel libxcb-devel freetype-devel libxml2-devel
  • تنزيل البرنامج باستخدام مدير حزم رست cargo

cargo install silicon

امثلة للأستعمال

  • قرائة الكود من ملف


silicon /tmp/hello.py -o ~/o.png

تكتب اسم الأداة sillicon تقوم بكتابه اللاحقه -o تقوم بكتابه المسار الذي تود حفظ الصوره به مع اللاحقة المفضله لك في حالتي png

  • تظليل أسطر محددة من الكود

"silicon /tmp/hello.py --output ./o.png --highlight-lines "1;3-5

هنا يقوم البرنامج بأخذ الأسطر المحدده كمعطي
تفصل بين ارقام السطور باستخدام علامة ; و تقوم بتحديد مدي باستخدام علامة - لتفصل بين البداية و النهاية

  • تغير خصائص الصورة المخرجة


silicon /tmp/hello.py -o o.png \
    --shadow-color '#555' --background '#fff' \
    --shadow-blur-radius 30 --no-window-controls

بأمكانك تغير الألوان عن طريق اعطاء بعض الخيارات مثل
background = لون الخلفية
shadow-color = لون الظلال حول النافذة
shadow-blur-radius = مدي تأثير الظلال حول النافذة

مع الألوان المستهدفة حيث بإمكانك أن تقوم بتحديد أي لون لو أردت
لاحظ أيضا خيار --no-window-controls الذي أزال أزرار النافذة

  • قرائة الكود من الحافظة
    silicon --from-clipboard -l py --to-clipboard

هنا يقوم البرنامج بأخذ ما هو موجود في الحافظه و تحويله الي صوره و يضعها في الحافظه مرة أخري لتقوم بلصقها في أي مكان
يجب تحديد اللغة المستخدمة للكود في الخلفية حتي يتم تظليل الكود بشكل صحيح وتم ذلك باستخدام اللاحقة l

بإمكانك عمل اختصار ليسرع لك العملية عند مشاركة الكود عن طريق برنامج إدارة الإختصارات الخاص بك

الإستخدام في محرارات الطرفية

يتم استخدام الأداة باستخدام إضافات للمحررات النصية مثل vim , emacs
بواسطة هذه الحزم

الخاتمة

كما طرحت تجد الأداة مفيدة في حالة مشاركة الكود حاول دائما إذا وجدت نفسك تعمل مهم بشكل مستمر أن تبحث عن الأدوات التي تساعدك علي القيام بهذه المهمة أو القيام بها بشكل افضل وفي حال أردت تخصيص الأداة بشكل أكبر بإمكانك فتح النقاش في التعليقات أو تصفح صفحة الأداة علي موقع github
ألقاكم في تدوينه أخري تسهل عليكم مهامكم باستخدام أدوات حرة
و السلام عليكم و رحمة الله و بركاته

المصادر

صفحة الأداة علي github
صفحة المساعدة باستخدام خيار المساعدة في الأداة silicon --help

الترخيص

هذا الموضوع يتبع ترخيص جميع مواضيع أسس: CC-BY-SA 4.0

6 إعجابات

مقارنة مع أول موضوع طرحتَه هنا، أرى أنك بدأت تفهم قواعد اللعبة في كتابة المحتوى، هذا مبشر للغاية إذا نظرنا لعدد مواضيعك هنا حتى الآن :clap:
نصيحة ربما تكون مفيدة سأقدمها لك بعد إذنك: في مقدمة المقالات حاول استخدام عبارة أو مجموعة عبارات لتقديم ما أنت بصدد شرحه، حاول فعل ذلك بطريقة محفزة لمواصلة القراءة.
لو أخذنا مقدمة هذا المقال مثلا أرى أنك لم تذكر اسم سيليكون في المقدمة، مع أنها كانت ممتازة في عنصر التشويق والتحفيز باستخدام الأسئلة وضمير المخاطب.

يمكن مثلا أن تضيف إلى المقدمة بالإضافة للسؤالين المطروحين إجابة تحفيزية

فتلكن مثلا عبارة
“أنت في المكان المناسب إذن! سنتناول في مقالنا واحدا من المشروعات الجيدة في هذا الجانب: سيليكون يقدم لك ميزات متقدمة لنسخ الشفرات (Codes)، تخصيصها ومشاركتها بشكل جذاب وعملي. تابع معنا لتعرف المزيد!”

أتمنى قراءة مزيد من مواضيعك مستقبلا لاسيما بسبب اهتمامي بتحسين الإنتاجية، وكذا إعجابي بطريقة طرحك.

إعجابَين (2)

اداه جميله فعلا, لكن تثبيتها معقد بزيادة :sweat_smile:

الأداة جديدة نسبيا ليست موجوده في المستودعات الرسميه مع الوقت تصدر كحزم بإذن الله

في البداية التعليق يعني الكثير و خاصة عندما يأتي من الشخص الذي قمت باستعمال تدونيته لتثبيت نظام تشغيلي :heart: فشكرا لك

اضافتك للمقدمة منطقيه و تعطي عنصر تشويق فعلا
أخطط لعمل بعض الإضافات الي المقال لتزيد الفائدة و سأعدل المقدمة مع اعتبار نصيحتك

لا تردد بطرح رأيك في كتاباتي رجاء

إعجاب واحد (1)

شكرا الله لك. صراحة لست ذلك الشخص الذي تظنني عليه:sweat_smile:. مجرد مشارك في المجتمعات لم يكن الغرض من محتواه النشر فقط بل نقل التجربة وتحفيز الآخرين للبدء في المحتوى التقني العربي الذي يحتاج أقلامنا وجهودنا فعلا.

بالنسبة للملاحظات والتدقيق اللغوي فأتمنى ذلك وأتشرف، غير أن الوقت والضغط لا يسمح بذلك حاليا على الأقل. على الرغم من ذلك لابد من المحاولة.

إعجاب واحد (1)

وفقك الله ، متي ما وجدت الوقت لا تتردد في تنبيهي

إعجاب واحد (1)

اتوقع سيكون اسهل تثبيته لو تم تقديم صورة Docker.

هل تري دوكر حل مناسب لمستخدم جديد للينكس

نسبيا سيكون اسهل من تثبيت حزمة binary.
لانه فقط يثبت دوكر نفسه, ثم امر واحد يثبت سيليكون.