انجمن‌های فارسی اوبونتو

جامعه کاربران => پیشنهادات و انتقادات => نویسنده: helium در 26 مهر 1398، 03:15 ب‌ظ

عنوان: اخبار در پانوشت انجمن
ارسال شده توسط: helium در 26 مهر 1398، 03:15 ب‌ظ
سلام، در پانوشت انجمن پیوند زیر خطای ۴۰۴ می‌دهد
https://forum.ubuntu.ir/index.php/board,38.0.htmlجایگزین شود با
https://forum.ubuntu.ir/index.php?board=38.0
عنوان: پاسخ : اخبار در پانوشت انجمن
ارسال شده توسط: esmaeelE در 26 مهر 1398، 04:19 ب‌ظ
علاوه بر اون لینک زیر هم مشکل دارد

https://forum.ubuntu.ir/index.php/topic,242.0.html

جایگزین شود با

https://forum.ubuntu.ir/index.php?topic=242.0.html

عنوان: پاسخ : اخبار در پانوشت انجمن
ارسال شده توسط: nixoeen در 26 مهر 1398، 04:55 ب‌ظ
ممنون. لینک‌ها تصحیح شدند.
عنوان: پاسخ : اخبار در پانوشت انجمن
ارسال شده توسط: esmaeelE در 26 مهر 1398، 06:56 ب‌ظ
به جز اینها که به سرعت اصلاح کردید چندین لینک دیگر هم در صفحات انجمن هست که ایراد دارد. به نظر می‌رسه اصلاح متن این لینک‌ها ساده باشه و اونهایی که من پیدا کردم از قانون ساده زیر پیروی می‌کنه.

برای مثال لینک زیر که از چگونه هکر شویم (https://forum.ubuntu.ir/index.php?topic=115667.msg938877#msg938877) برداشتم دقیقا از همان قانون دو لینکی که اصلاح کردید پیروی می‌کند.


https://forum.ubuntu.ir/index.php/topic,111722.msg904212.html#msg904212

لینک بالا معیوب است و 404 می‌دهد.

به قسمت

/topic,دقت کنید کافی است تبدیل شود به

?topic=
احتمال دارد همین مطلب درمورد سایر لینک‌های معیوب هم صحیح باشد و با درنظر گرفتن قانون زیر

/{},
که عبارت میانی می‌تواند با topic و board و شاید سایر عبارت‌های دیگر در لینک‌های معیوب جایگزین شود این اصلاح را انجام داد.

اسکریپت زیر با دستور sed تلاشی است در حل این مطلب

#!/bin/bash

echo

a=`echo "$1" | sed 's/\/\([a-zA-Z]*\),/\?\1=/'`

echo $a

# store in clipboard
echo $a | xclip -sel clip
 
 

اجرا


فرض کنیم نام اسکریپت ubuntuir-link-fixer.sh باشد کافی است لینک معیوب را به عنوان آرگومان به آن بدهیم تا لینک سالم را در Clipboard ذخیره کند.
./ubuntuir-link-fixer.sh  https://forum.ubuntu.ir/index.php/topic,111722.msg904212.html#msg904212

که می‌توان در مرورگر آدرس را paste کرد و صفحه درست را باز کرد.

ویرایش
عنوان: پاسخ : اخبار در پانوشت انجمن
ارسال شده توسط: nixoeen در 27 مهر 1398، 02:54 ق‌ظ
در آینده مشکل لینک‌ها رو برطرف می‌کنم.
عنوان: پاسخ : اخبار در پانوشت انجمن
ارسال شده توسط: esmaeelE در 28 مهر 1398، 09:21 ب‌ظ
تا دوستان زحمت می‌کشن و کم‌کم لینک‌های خرابو اصلاح می‌کنند به نظرم رسید راه حل عملی‌تری به جای استفاده از اسکریپت ارائه دهم.

افزونهٔ (Add-on) ساده Firefox که لینک‌های خرابو با چیزی که تاکنون تصور می‌کنم درسته جایگزین می‌کنه.

عبارت منظم (RE) به کار رفته دقیقا مشابه اسکریپت است.

توجه: فرض کردم تمام لینک‌های خراب از قانون زیر پیروی می‌کنند
/{}, -->  ?{}=
فایل افزونه پیوست شده است.


کد manifest
{

  "description": "Fix broken link in ubuntu.ir" ,
  "manifest_version": 2,
  "name": "ubuntuir-fix",
  "version": "1.0",
  "homepage_url": "https://github.com/esmaeelE/ubuntuir-fix",
  "icons": {
    "48": "icons/ubuntu-fix.png"
  },
  "content_scripts": [
    {
      "matches": ["*://*.ubuntu.ir/*"],
      "js": ["ubuntuir-fix.js"]
    }
  ]
}

کد js
str = window.location.href;
var re = /\/([a-zA-Z]+)\,/;

if (str.match(re)){
var res = str.replace(re, "\?$1\=");
document.location.href = res;
}

نصب