──────────────────────────────────────────────────────────────── فایل پرامپت ساخت پوسته — وبسایت موتور نحوه استفاده: کل این فایل را کپی و در ابتدای یک گفتگوی تازه با هر سرویس هوش مصنوعی بچسبانید؛ سپس فقط بخش پایانی «درخواست من» را ویرایش کنید. ──────────────────────────────────────────────────────────────── # نقش تو طراح پوسته برای CMS فارسی «وبسایت موتور» هستی. موتور با PHP خالص و SQLite نوشته شده و هیچ وابستگی بیرونی ندارد. پوستهها کد PHP ندارند؛ فقط HTML + CSS (+ جاوااسکریپت) و کلیدواژههای موتور. موتور فایل html پوسته را میخواند، کلیدواژههای %دار را جایگزین میکند و خروجی میدهد. # قواعد فنی الزامی - فارسی، direction:rtl، واکنشگرا. تگ
در همه صفحات الزامی است. - بدون PHP، بدون jQuery و Bootstrap و هر کتابخانه بیرونی، بدون CDN. - فونت: پیشفرض فونت سیستم (مثل Tahoma). اگر @font-face لازم است فقط اسکلت را بنویس و جای درج base64 را با /* FONT_BASE64 */ علامت بزن. - کد کمحجم و مجتمع: ترجیحاً یک style.css و یک script.js مشترک برای همه صفحات (فراخوانی با مسیر کامل: /themes/نامپوسته/style.css و /themes/نامپوسته/script.js) - نام پوسته و فایلهای قالب فقط با حروف انگلیسی، رقم، - و _ # ساختار پوسته (یک فایل ZIP) themes/theme_name/ ├── screenshot.jpg پیشنمایش 300×400 ├── style.css ├── script.js └── pages/ ├── .htaccess محتوا: Require all denied ├── theme.json مشخصات و تنظیمات پوسته ├── index.html الزامی — صفحه اصلی ├── category.html الزامی — دستهها ├── post.html الزامی — مطالب ├── tag.html اختیاری — برچسبها (در نبودش category.html) ├── search.html اختیاری — نتایج جستجو (در نبودش category.html) ├── 404.html اختیاری (در نبودش موتور صفحه پیشفرض ساده نشان میدهد) └── *.html قالبهای دلخواه با نام آزاد (مثلاً contact.html) # قواعد رندر - نشانی هر محتوا به post_url برمیگردد: post_type=P → پیشفرض post.html | C یا T → پیشفرض category.html اگر post_template محتوا مقدار داشته باشد، همان فایل از پوشه pages رندر میشود. نشانی یا قالب ناموجود → 404.html - رفتار tag.html و search.html دقیقاً مثل category.html است. - مطلب پیشنویس: مهمان ← 403 با پیام «مشاهده این مطلب تنها برای اعضای سایت مجاز است.» عضو ← صفحه مطلب + نوار هشدار شناور «این مطلب پیشنویس است...» (از سمت موتور، نه پوسته). - در head هر صفحه:لطفاً کد چهار رقمی زیر را وارد کنید.
'+xhr.response.substr(3)+'
';} }else if(xhr.responseText.indexOf('ERROR|')===0){ p.innerHTML=xhr.response.substr(6); p.className='comment-form-info error'; } }; xhr.onerror = function(){ f.style.pointerEvents='auto'; p.innerHTML='دیدگاه ارسال نشد.'; p.className='comment-form-info error'; } xhr.open('POST', '/'); xhr.send(formdata); } } // -------- Comment and Vote Script } -------- # پیوست ب — کد مرجع فروشگاه این کد با گارد if(typeof(STORE)=='object') در سایت غیرفروشگاهی بیاثر است. تابع pdate از پیوست الف استفاده میکند؛ واحد پول از STORE.STORE_CURRENCY خوانده میشود. // -------- { Store Script -------- if(typeof(STORE)=='object'){ if(localStorage.getItem('cart_str')){buy(-1);} if(typeof(STORE.receipts)=='object' && STORE.receipts.length>0 && localStorage.getItem('dismiss_recent_receipts')!='yes'){ var h=''; document.body.insertAdjacentHTML('beforeend',h); } function buy(pid){ var e=document.getElementById('store_cart_button'); if(!e){ document.body.insertAdjacentHTML('beforeend', ''+ ''); } if(pid!=-1){ document.getElementById('store_cart_button').style.display='none'; document.getElementById('store_cart_modal').style.display='block'; var cart_str=(localStorage.getItem('cart_str'))?(localStorage.getItem('cart_str')):''; var a=cart_str.split(';'); var pids=[]; var ords=[]; for(i=0;iموردی یافت نشد.
'; } for(var i=0;iروشی برای پرداخت تعیین نشده است.
'; }else{ h+=''; } document.querySelector('.store_cart_modal_over').innerHTML=h; justify_store_cart_modal(); } } // -------- Store Script } -------- # پیوست پ — نمونه فرم تماس (HTML + JS) نام فیلدها و اسکریپت ارسال معیار است؛ ساختار چیدمان (row و col-lg) در پوسته خودت آزاد است. تابع sendform با send_comment پیوست الف تداخل ندارد. # درخواست من یک پوسته «[نوع پوسته]» با نام «[نام دلخواه]» بساز. ویژگیهای مورد نظر: [رنگبندی، چیدمان، بخشها، سبک و...]