جالب ترین و جامعترین صفحه کدهای آماده:
https://www.w3schools.com/howto/default.asp
متن استرونگ با استایل دکمه
دانشمندان روش جدیدی برای ارتباطات کوانتومی ایمن با سرعت بالا ابداع کردند
دانشمندان دانشگاه پنسیلوانیا در ایجاد روشی جدید برای انتقال اطلاعات و ارتباطات کوانتومی با استفاده از نوعی از ذرات نور به نام کیودیت (Qudit) به پیشرفت قابلتوجهی دست یافتهاند. این کیودیتها نسبت به کیوبیتها (Qubit) مزیتهایی دارند و نوید اینترنت کوانتومی امن و قدرتمندی را میدهند.
این روش جدید از دو ویژگی نور (حالت فضایی و قطبش آن) برای ایجاد کیودیتهای چهاربعدی بهره میبرد. این کیودیتها روی تراشهای خاص ساخته شدهاند که امکان مهندسی کوانتومی و انتقال دادههای دقیق را فراهم میکند. این روش جدید در مقایسه با روشهای مرسوم مزیتهایی دارد و باعث افزایش سرعت انتقال دادهها و مقاومت در برابر خطاها میشود.
➖➖➖➖➖
🗳@hoomas
Qudits and qutrits
اصطلاح qudit بیانگر واحد اطلاعات کوانتومی است که می تواند در سیستم های کوانتومی سطح d مناسب تحقق یابد.[9] یک ثبات کیوبیت که میتوان آن را با N حالت اندازهگیری کرد، با qudit سطح N یکسان است. مترادف [10] به ندرت برای qudit quNit است، [11] زیرا d و N اغلب برای نشان دادن بعد یک سیستم کوانتومی استفاده می شوند.
Qudit ها مشابه انواع اعداد صحیح در محاسبات کلاسیک هستند و ممکن است به آرایه های کیوبیت نگاشت شوند (یا توسط آنها مشخص شوند). Qudit هایی که در آنها سیستم سطح d توان 2 نیست را نمی توان به آرایه های کیوبیت نگاشت. برای مثال می توان qudit های 5 سطحی داشت.
در سال 2017، دانشمندان مؤسسه ملی تحقیقات علمی یک جفت qudit با 10 حالت مختلف ساختند که قدرت محاسباتی بیشتری نسبت به 6 کیوبیت میداد.[12]
در سال 2022، محققان دانشگاه اینسبروک موفق به توسعه یک پردازنده کوانتومی جهانی qudit با یون های به دام افتاده شدند.[13] در همان سال، محققان مرکز اطلاعات کوانتومی دانشگاه Tsinghua طرح کیوبیت دوگانه را در رایانههای کوانتومی یونی به دام افتاده با استفاده از گونههای یونی مشابه پیادهسازی کردند.[14]
همچنین در سال 2022، محققان دانشگاه کالیفرنیا، برکلی، تکنیکی را برای کنترل پویا برهمکنشهای کراس کر بین کوتریتهای فرکانس ثابت، ایجاد کردند و به گیتهای دو کوتریتی بالا رسیدند.[15] این امر با نمایش کنترل توسعه پذیر qudit های ابررسانا تا d = 4 {\displaystyle d=4} {\displaystyle d=4} در سال 2024 بر اساس برهمکنش های دو فوتون قابل برنامه ریزی دنبال شد.[16]
مشابه کیوبیت، کوتریت واحد اطلاعات کوانتومی است که می تواند در سیستم های کوانتومی 3 سطحی مناسب تحقق یابد. این مشابه واحد اطلاعات کلاسیک تریت کامپیوترهای سه تایی است.[17] علاوه بر مزیت مربوط به فضای محاسباتی بزرگ، سطح کوتریت سوم را می توان برای پیاده سازی کامپایل کارآمد دروازه های چند کیوبیتی مورد سوء استفاده قرار داد.[16][18][19]
ارسال بازخورد
واکسل
از ویکیپدیا، دانشنامهٔ آزاد
پرش به ناوبری
پرش به جستجو
پشتهای از واکسلها، یکی از آنها تیره گشتهاست.
واکسل یا وکسل (به انگلیسی: Voxel) کوچکترین جز ساختاری (element) یک تصویر ۳ بعدی را گویند.[۱] از این لحاظ، وکسل مشابه ۳ بعدی یک پیکسل است.
یک واکسل یک مقداری را بر روی یک مختصات معین در فضای سه متغیره نشان میدهد. همانند پیکسلها در فایل تصویری بیت مپ(Bitmap)، واکسلها خودشان برای مثال موقعیتی از خودشان(مختصات خودشان) را ندارند به طور صریح در امتداد با مقادیر خودشان به صورت رمزی درآورده شده اند. به طور مثال موقعیت یک واکسل براساس موقعیتش در ارتباط با دیگر واکسلها استباط میشود.(یعنی موقعیتش در ساختار دیتا که باعث ایجاد یک تک تصویر حجمی میشود). پیکسلها و واکسلها در مقابل هم اند، نقطه ها و چندضلعیها اغلب به طور صریح با مختصات رئوسشان نشان داده میشوند. نتیجه این تفاوت چندضلعیهایی هستند که قادر به ارائه ساختار 3 بعدی کافی با فضای خیلی زیاد خالی یا پر شده بطور همجنس است، زمانی که واکسلها در نمایش خیلی خوب هستند فضاهای نمونه برای آنکه به طور منظم به صورت غیر-همجنس پر شدهاند.
واکسلها به صورت پیوسته در تجسم و آنالیزهای پزشکی و اطلاعات علمی استفاده میشوند. برخی نمایشگرهای حجمی از واکسلهای برای توصیف وضوح تصویر استفاده کردهاند. برای مثال یک نمایشگر ممکن است قادر به نمایش 512*512*512 واکسل باشد.
An Asterisk ( * ) indicates any number of occurrences of any character that occurs in the position where the asterisk occurs in the pattern. A plus sign ( + ) indicates one or more of the preceding character. The question mark ( ? ) indicates zero or one of the preceding character.
جهاز (الناسوخ)---دستگاه فاکس-دورنگار-----Fax
تگی جالب: ریشه
ساقه را باز کنید
ساقه
ساقه دوم را باز کنید
ساقه دوم
ساقه سوم را باز نکنید!
فرمت فایل ویدیویی
[فرمت فایل ویدیویی] برای اینکه یه فایل ویدیویی تشکیل بشه، ما معمولا به دو چیز نیاز
داریم تصویر و صدا. دیتای تصویری مورد نظر ما با استفاده از فرمتهای
Coding ، کد میشن و توی فرمتهای نگه دارنده (Container Format) ذخیره
میشن. توی این پست در مورد دیتای تصویری بحث میکنیم و توی یک پست دیگه در
مورد دیتای صوتی.
[Container Format] از لحاظ نظری میشه تعداد بینهایتی از اطلاعات سینک شده، متادیتا
(اطلاعاتی که در مورد اطلاعات دیگه به ما اطلاعات میدن :−") ، زیرنویس، و
فایل تصویری و صوتی با پروفایل استاندارد[nb]پروفایلهای استاندارد به
شرایطی گفته میشن که ارایه دهنده سرویس مشخص میکنه از چه فرمتهایی(در
معنای عام:قالب) توی یک فایل استفاده کرد.[/nb] رو توی یک فرمت نگه دارنده
ذخیره کرد.
[Codec] توی دنیای دیجیتال ما دیتا رو کد گذاری (Encode) میکنیم، و هر کد
گذاری منطقا برای استفاده مجدد نیاز به کدگشایی(Decode) داره، توی دنیای
صوتی و تصویری دیتا رو به دلیل کاهش حجم و حفظ نهایت کیفیت ممکن انکود
میکنن، انکود کار تکنیکال و نیازمند سیستمهای مخصوصی هست اما دیکود عموما
سمت کاربر. دیکود به دو صورت انجام میشه نرم افزاری (SW) و سخت افزاری
(HW) جدا از تفاوتهای این دو روش، دیکود برای انجام کارش نیاز به
کتابخونههایی از کد داره که به اونا میگیم Codec Library، و این همون
چیزیست که اگه توی سیستم عاملی مثل ویندوز نصبش نکنید نمیتونید فرمتهای
صوتی و یا تصویریتون رو اجرا کنید. [کدکهای رایج] H264
نام کامل: H.264/MPEG-4 AVC
توسط گوگل/یوتیوب، ادوبی و اپل پشتیبانی میشه، مزیت اصلیش نسبت به کدک های
دیگه اینه که انعطاف پذیری بیشتری رو برای سیستمهای مختلف تامین میکنه.
مثل قابلیت استریم روی اینترنتهای با سرعت تبادل پایین (سلام دنیا :) )،
پخش روی شبکههای تلویزیونی و سینمای دیجیتال، با کدینگ تقریبا بی اتلاف
(Lossless)[nb]توی پستهای بعدی توضیح میدم مفهوم فشرده سازی lossless و
lossy رو.[/nb]. MPEG
این کدک یکی از کدکهای محبوب هستش که مجموعه ای از استانداردها و متدها رو
ارایه میده (عموماً با ورژن مشخص میشن مثل: MPEG−2 یا MPEG−4)، بیشترین
استفاده از این کدک شامل ورژن ۲ میشه که امروزه بیشتر برای انتقال دیتا از
طریق هواست (سیستم ماهواره و رسیور و تلویزیون کابلی). همچنین توی
استانداردهای پربازدهتری مثل HD DVD و Blu-Ray استفاده میشه. اما ورژن ۴
به خاطر قابلیت فشردهسازی فوقالعادهش و استفاده اون برای تبادل بین
شبکههای موبایلی محبوب شد. MPEG-4 Part 14 رو احتمالا با اسم آشنای MP4
شنیدین، همچنین فرمت M4A برای فایل های صوتی این کدک به کار برده میشه. H.265 or HEVC
نام کامل: High Efficiency Video Coding
هدف از توسعه این پروژه این بوده که استانداری عرضه بشه که بدون آسیب به
کیفیت تصویر نسبت به استانداردهای قبلی تعداد Bit-Rate[nb]در پستهای بعد [/nb]
ها رو به صورت اساسی کاهش بده که در نتیجه منجر به کاهش حجم بشه (به نسبت
فرمت MP4 و استاندارد MPEG تقریبا حجم فایل ها به نصف کاهش یافته)، و
همچنین مزیت فوق العاده این استاندارد اینه که توی طراحی به این دقت شده
که پیچیدگی رو به حداقل برسونن تا با کمترین هزینهی ممکن، رو range وسیعی
از شبکهها، سیستمها و اپلیکیشنها بشه اجراش کرد.
پ.ن: بحثهای تکنیکی فوقالعاده جذابی با کلید خوردن این پروژه به وجود
اومد که امیدوارم یه روزی مخاطبینی پیدا بشن که بتونیم تو سمپادیا بهش
بپردازیم. :/
پ.ن۲: اکیداً بهتون توصیه میکنم این فرمت رو جدی بگیرید، مخصوصا با
اینترنت نامناسبی که تو کشورمون وجود داره کیفیت مناسب و حجم کم چیز هیجان
انگیزی موقع دانلوده :) .
مفهوم Bit Rate در ویدیو
[Bit Rate : Video]
[مفهوم تکنیکال] به تعداد بیتهای ارسال شده در واحد زمان بیت ریت گفته میشه،
همونطور که میدونید هر بایت = ۸ بیت هست (b نشون دهنده بیت و B نشون
دهنده بایت)، مقدار بیت ریت رو با نماد bit/s (بیت بر ثانیه) و یا عموما به
صورت bps که مخفف bit per second هست نشون میدن. میتونیم با استفاده از
واحدهای SI به صورت راحت تر (اصطلاحا Human Readable) مقدار بیت ریت
موردنظر رو بیان کنیم. مانند kbps (کیلو)، Mbps (مگا)، Gbps (گیگا) و الخ. [چرا Bit Rate مهمه؟]
همونطور که از مفهوم بیت ریت برمیآد بیت ریت تاثیر مستقیمی داره توی حجم
فایل، به طور دقیقتر اگر از حجم صدای فایل صرف نظر کنیم خواهیم داشت:
کد:
File Size = Bit Rate × duration
حجم فایل = بیت ریت × مدت زمان فایل
برای اینکه دقیقتر متوجه تاثیر بیت ریت روی حجم فایل بشید به مقادیر زیر توجه کنید (آمار تقریبی با توجه به ویدیوهای یوتیوب):
کد:
LD 240p @ H.264 baseline profile 350 kbps (3 MB/minute)
LD 360p @ H.264 main profile 700 kbps (6 MB/minute)
SD 480p @ H.264 main profile 1200 kbps (10 MB/minute)
HD 720p @ H.264 high profile 2500 kbps (20 MB/minute)
HD 1080p @ H.264 high profile 5000 kbps (35 MB/minute)
مقادیر بالا به ترتیب از چپ راست:
LD: کیفیت پایین؛ SD: کیفیت استاندارد؛ HD: کیفیت بالا. | کدک H.264 |
پروفایلهای مرتبط به کدک[nb]در حوصله بحث نیست احتمالاً.[/nb] | بیت ریت
در واحد kbps | حجم تقریبی فایل در یک دقیقه
[بیت ریت متغیر و ثابت]
ممکنه توی کانورت کردن و یا فیلمبرداری حتی (:−؟) به دوتا مفهوم CBR و VBR
برخورد کنین، من خیلی وارد مفهوم نمیشم چون بحث زیادی تکنیکاله و سمت
کاربر نیس تقریبا، منتها به این نکته اشاره کنم که بیت ریت ثابت (CBR)
عموما باعث اتلاف منابع میشه و تولید یک ویدیو با بیت ریت ثابت اصولا کار
بسیار بسیار سختیه. کدکهای معمول هم از سیستم VBR استفاده میکنن. اصولا
زمانی از CBR استفاده میشه یه بیت ریت مشخصی تعیین شده و باید توی همون
بازه کار کرد، مثلا برای پخش شبکههای ماهوارهای که از یک پهنای باند
مشترک برای چند کانال استفاده میکنن. و یا برای فیلمبرداریهای زنده به
طور خاص.
[صرفا جهت رفع کنجکاوی مثلا :−"]
بیت ریت با یه چیزی به عنوان مقیاس Kush تولید میشه.
کد:
Kush gauge: pixel count × fps × motion factor × 0.07 ÷ 1000 = bit rate in kbps
مقدار pixel count: طول × عرض فایل ویدیویی بر اساس پیکسل
مقدار fps: بستگی داره چیزای مختلف. بعدا بررسی میشه.
مقدار motion factor: یک ، دو و یا چهار.
مثال:
کد:
Overall bit rate mode :Variable
Overall bit rate :1 144 Kbps
Bit rate mode :Variable
Bit rate :1 079 Kbps
Maximum bit rate :62.5 Mbps
Width :1 184 pixels
Height :720 pixels
مفهوم Bit Rate در صدا
[Bit Rate : Audio]
[All the Way Back to 70s]
واسه توضیح مفهوم بیت ریتها توی تکنولوژیهای مربوط به صدا باید با چنتا چیز آشنا بشیم:
مفهوم Sample ها و Sampling:
برای ضبط صدا ما نیاز داریم صدای آنالوگی رو که میشنویم به دیجیتال تبدیل
کنیم و یا اصطلاحاً Digitized کنیم. توی این پروسه ما منبع صورتی رو در نظر
میگیریم و به تیکههای بسیار بسیار زیادی تقسیمش میکنیم، هر تیکه
نمایانگر یه حجمی از صدا تو زمان 23µs هستش که به این تیکه میگیم Sample.
بعداً این sampleها رو کنارهم میزاریم و بسته به کیفیت موردنظرمون فایلی
شبیه به منبع صوتی موردنظر ایجاد میشه. و توی هر 23µs یک sample به بلندگو
فرستاده میشه تا بتونیم بشنویمش.
مفهوم Sample Rate:
به تعداد sampleهای گرفته شده و بازپخش شده توی واحد زمان (یک ثانیه)،
میگیم sample rate و با واحد Hz اندازه گیریش میکنیم. برای مثال sample
rate یک CD موزیک برابر 44100Hz یا 44.1KHz هست، که به طور سادهتر یعنی
44100 سمپل در ثانیه. برای اینکه کل range شنوایی انسان پوشش داده بشه
(20-20000Hz) سمپلینگ معمولا 44.1kHz (CD), 48 kHz, 88.2 kHz, or 96 kHz
خواهد بود. و بدیهتاً هرچهقدر تعداد سمپلها زیادتر بشه کیفیت و حجم فایل
هم بیشتر میشه.
مفهوم Bit Depth:
به تعداد بیتهای موجود توی هر سمپل میگن bit depth. احتمالا موقع دانلود
موزیک به این مفهوم برخوردین که موزیکهای معمولی 16 بیتی و موزیکهای با
کیفیت FLAC حتی 24 بیتی هستن. لازم به توضیح نیست که هرچهقدر این عدد بالا
باشه کیفیت و حجم به طرز قابل چشمگیری افزایش پیدا میکنه.
مفهوم کانال صوتی:
کانال صوتی و یا Audio Channel، همون طور که از اسمش معلومه یک کانال بین
مبدأ صوتی و مقصد هستش که بین این دو، تبادل سیگنالهای صوتی رو انجام
میده. کانالهای صوتی مشهوری که بیشتر به چشمتون میخورن اینا هستن:
Bit Rate = Sample Rate × Bit Depth × Channels
File Size (in bits) = Bit Rate × Duration
بیت ریت دوتا فرمت مشهور دنیای موزیک:
کد:
MP3:
32 kbit/s - 320 kbits/s
FLAC[nb]یه تاپیک بزنیم در مزایای این فرمت :−؟[/nb]:
400 kbit/s - 1411 kbit/s
مثال:
کد:
Bit rate :64.0 Kbps
Channel(s) :2 channels
Channel positions :Front :L R
Sampling rate :48.0 KHz / 24.0 KHz
بسم الله الرحمن الرحیم
برای استخراج تصاویر المنجد از فایل پی دی اف که از (http://ia801407.us.archive.org/11/items/waq98127/98127p.pdf) دانلود کرده بودم، چنین مسیری را پیمودم:
۱- با برنامه (PdfShuffler) فایل پی دی اف را ویرایش کرده و فایلهای حدود ۳ مگا نه بیشتر را تقطیع کردم، که حدودا در هر فایل حدود ۱۰۰ تصویر بود.
۲- این فایل را به سایت (https://seotoolstack.com/extract-pdf-images) برده، و تصویر با کیفیت خوب از فایل پی دی اف، و با پسوند (pbm) با حالت فشرده و فایل زیپ، تحویل گرفتم، البته با نرم افزار (converseen) هم میشود فایل پی دی اف را تبدیل به تصاویر کرد، یعنی تصاویر ان را استخراج کرد، ولی تصویر آن کیفیت ندارد و قابل استفاده متنی نیست.
۳- با نرم افزار (converseen) ابتدا فرمت (pbm) را تبدیل به فرمت (bmp) کردم، که حجم بسیار بالایی داشت، و از این طریق ممکن شد که آنها را تبدیل به فرمت (png) کنم که حجم بسیار کمی دارد ولی کیفیت خوب آن باقی میماند.
۴- چون سایت قبلی فایلهای تصویر را در آن فایل زیپ با شماره نامگذاری میکند، تمام فایلها را به ترتیب در سایجیل بردم و به یک منوال تغییر نام دادم، تا سرانجام ۱۰۱۶ فایل با شماره مسلسل، و ۲۴ فایل برای مقدمه، حاصل شد، توجه شود که چون عدد ۱۰۱۶ چهار رقمی است، حتما شماره فایلها چهار رقمی باشد، یعنی از 0001 شروع شود.
۵- کد شل اسکریپت را یک دفعه برای مقدمه و دفعه دیگر برای ۱۰۱۶ فایل متن کتاب، اجرا کردم در دو فولدر جداگانه، و سپس مجموع را به انضمام فایلهای اچ تی ام ال حاصل شده، در یک فولدر قرار دادم. والحمد لله رب العالمین.
کد شل اسکریپت که برای بسیار از کارهای دیگر نافع است این است، به سورس مراجعه کنید، چون بخش ایجاد فایل اچ تی ام ال را بروزر نمایش به صورت کد نمیدهد:
#!/bin/sh
#hm این کد را از آدرس
# http://www.pctechtips.org/bash-script-to-create-an-online-photo-album/
#hm برداشتم و تغییراتی دادم
#START
#variables
EXT="png" #your pics file extension---باید پسوند خود را بنویسید
TITLE="المنجد في اللغة" #album title---عنوان صفحه را بنویسید
ALLPICS="" #array to hold pictures---آرایه کل فایلها
TOTAL="" #total number of pics----شماره مجموع فایلها
THISPIC="" #store current pic----- فایل فعلی
THISPAGE="" #store current picture-----صفحه فعلی
PREVPAGE="" #store link to previous page---صفحه قبلی
NEXTPAGE="" #store link to next page---صفحه بعدی
THISNAME="" #store name---فقط نام فایل
##########################################
# MAIN
##########################################
#creating array of pictures
ALLPICS=(*.$EXT)
TOTAL=${#ALLPICS[@]}
echo -e "\n\n\n\nالفهرست\n
\n\n
بسم الله الرحمن الرحیم
\n
$TITLE
" >> index.html
#looping through all pictures and create a html page for each
for((i=0; i<$TOTAL; i++)); do
THISPIC="${ALLPICS[i]}"
THISPAGE="${ALLPICS[i]%.$EXT}.html"
THISNAME="${ALLPICS[i]%.$EXT}"
#the first picture
if [ $i -eq 0 ]; then
PREVPAGE=""
NEXTPAGE="${ALLPICS[$((i+1))]%.$EXT}.html"
#the last picture
elif [ $i -eq $(($TOTAL-1)) ]; then
NEXTPAGE=""
PREVPAGE="${ALLPICS[$((i-1))]%.$EXT}.html"
else
#all other pages except 1st and last
PREVPAGE="${ALLPICS[$((i-1))]%.$EXT}.html"
NEXTPAGE="${ALLPICS[$((i+1))]%.$EXT}.html"
fi
#current picture
NUM=$((i+1))
بسم الله الرحمن الرحیم
برای استخراج تصاویر المنجد از فایل پی دی اف که از (http://ia801407.us.archive.org/11/items/waq98127/98127p.pdf) دانلود کرده بودم، چنین مسیری را پیمودم:
۱- با برنامه (PdfShuffler) فایل پی دی اف را ویرایش کرده و فایلهای حدود ۳ مگا نه بیشتر را تقطیع کردم، که حدودا در هر فایل حدود ۱۰۰ تصویر بود.
۲- این فایل را به سایت (https://seotoolstack.com/extract-pdf-images) برده، و تصویر با کیفیت خوب از فایل پی دی اف، و با پسوند (pbm) با حالت فشرده و فایل زیپ، تحویل گرفتم، البته با نرم افزار (converseen) هم میشود فایل پی دی اف را تبدیل به تصاویر کرد، یعنی تصاویر ان را استخراج کرد، ولی تصویر آن کیفیت ندارد و قابل استفاده متنی نیست.
۳- با نرم افزار (converseen) ابتدا فرمت (pbm) را تبدیل به فرمت (bmp) کردم، که حجم بسیار بالایی داشت، و از این طریق ممکن شد که آنها را تبدیل به فرمت (png) کنم که حجم بسیار کمی دارد ولی کیفیت خوب آن باقی میماند.
۴- چون سایت قبلی فایلهای تصویر را در آن فایل زیپ با شماره نامگذاری میکند، تمام فایلها را به ترتیب در سایجیل بردم و به یک منوال تغییر نام دادم، تا سرانجام ۱۰۱۶ فایل با شماره مسلسل، و ۲۴ فایل برای مقدمه، حاصل شد، توجه شود که چون عدد ۱۰۱۶ چهار رقمی است، حتما شماره فایلها چهار رقمی باشد، یعنی از 0001 شروع شود.
۵- کد شل اسکریپت را یک دفعه برای مقدمه و دفعه دیگر برای ۱۰۱۶ فایل متن کتاب، اجرا کردم در دو فولدر جداگانه، و سپس مجموع را به انضمام فایلهای اچ تی ام ال حاصل شده، در یک فولدر قرار دادم. والحمد لله رب العالمین.
کد شل اسکریپت که برای بسیار از کارهای دیگر نافع است این است:
#!/bin/sh
#hm این کد را از آدرس
# http://www.pctechtips.org/bash-script-to-create-an-online-photo-album/
#hm برداشتم و تغییراتی دادم
#START
#variables
EXT="png" #your pics file extension---باید پسوند خود را بنویسید
TITLE="المنجد في اللغة" #album title---عنوان صفحه را بنویسید
ALLPICS="" #array to hold pictures---آرایه کل فایلها
TOTAL="" #total number of pics----شماره مجموع فایلها
THISPIC="" #store current pic----- فایل فعلی
THISPAGE="" #store current picture-----صفحه فعلی
PREVPAGE="" #store link to previous page---صفحه قبلی
NEXTPAGE="" #store link to next page---صفحه بعدی
THISNAME="" #store name---فقط نام فایل
#html code for webpage
webpage() {
cat << EOF
$TITLE
EOF
}
##########################################
# MAIN
##########################################
#creating array of pictures
ALLPICS=(*.$EXT)
TOTAL=${#ALLPICS[@]}
echo -e "\n\n\n\nالفهرست\n
\n\n
بسم الله الرحمن الرحیم
\n
$TITLE
" >> index.html
#looping through all pictures and create a html page for each
for((i=0; i<$TOTAL; i++)); do
THISPIC="${ALLPICS[i]}"
THISPAGE="${ALLPICS[i]%.$EXT}.html"
THISNAME="${ALLPICS[i]%.$EXT}"
#the first picture
if [ $i -eq 0 ]; then
PREVPAGE=""
NEXTPAGE="${ALLPICS[$((i+1))]%.$EXT}.html"
#the last picture
elif [ $i -eq $(($TOTAL-1)) ]; then
NEXTPAGE=""
PREVPAGE="${ALLPICS[$((i-1))]%.$EXT}.html"
else
#all other pages except 1st and last
PREVPAGE="${ALLPICS[$((i-1))]%.$EXT}.html"
NEXTPAGE="${ALLPICS[$((i+1))]%.$EXT}.html"
fi
#current picture
NUM=$((i+1))
#creating the index
echo "$NUM - $THISNAME - (تصویر)