.\" Man page generated from reStructuredText
.\" by the Docutils 0.22.3 manpage writer.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "UTIDYLIB" "1" "Jan 09, 2026" "1.0" "uTidylib"
.SH "نام (NAME)"
utidylib \- مستندات uTidylib
.sp
پوششدهندهی Tidy.
.sp
من رابط اصلی با TidyLib هستم. این بسته از پردازش HTML با Tidy، به همراه تمام گزینههایی که خط فرمان tidy پشتیبانی میکند، پشتیبانی مینماید.
.sp
برای اطلاعات بیشتر دربارهٔ گزینههای tidy، مرجع را ببینید. این گزینهها را میتوان با تبدیل خطتیرهها (\-) به زیرخط (_) به عنوان آرگومانهای کلیدواژهای به parse و parseString ارسال کرد.
.sp
برای نمونه:
.sp
.EX
>>> import tidy
>>> from __future__ import print_function
>>> print(tidy.parseString(
\&... \(aqHello Tidy!\(aq,
\&... output_xhtml=1, add_xml_decl=1, indent=1, tidy_mark=0,
\&... doctype=\(aqtransitional\(aq
\&... ))
Hello Tidy!
.EE
.sp
برای گزینههایی مانند newline و output_encoding که باید روی یکی از تعداد مشخصی از گزینهها تنظیم شوند، میتوانید نسخهٔ عددی یا رشتهای آن انتخاب را ارائه دهید؛ بنابراین هر دو دستور tidy.parseString(\(aqfoo\(aq, newline=2) و tidy.parseString(\(aqfoo\(aq, newline=\(aqCR\(aq) عملکرد یکسانی دارند.
.sp
هیچ برنامهای برای پشتیبانی از سایر قابلیتهای TidyLib مانند پیمایش درخت سند (document\-tree traversal) وجود ندارد، چرا که پایتون چندین پیادهسازی باکیفیت DOM دارد. (نویسنده از پیادهسازی Twisted یعنی twisted.web.microdom استفاده میکند).
.INDENT 0.0
.TP
.B tidy.parse(filename: str, **kwargs: OPTION_TYPE) -> Document
باز کردن و پردازش filename به عنوان یک فایل HTML.
.sp
بازگرداندن یک شیء سند پردازششده.
.INDENT 7.0
.TP
.B پارامترها
.INDENT 7.0
.IP \(bu 2
\fBkwargs\fP \-\- گزینههای نامدار برای ارسال به TidyLib جهت پردازش فایل ورودی.
.IP \(bu 2
\fBfilename\fP \-\- نام فایلی که باید پردازش شود
.UNINDENT
.TP
.B مقدار بازگشتی
یک شیء \fBDocument\fP
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B tidy.parseString(text: bytes | str, **kwargs: OPTION_TYPE) -> Document
استفاده از text به عنوان یک فایل HTML.
.sp
بازگرداندن یک شیء سند پردازششده.
.INDENT 7.0
.TP
.B پارامترها
.INDENT 7.0
.IP \(bu 2
\fBkwargs\fP \-\- گزینههای نامدار برای ارسال به TidyLib جهت پردازش فایل ورودی.
.IP \(bu 2
\fBtext\fP \-\- رشتهای که باید تجزیه شود
.UNINDENT
.TP
.B مقدار بازگشتی
یک شیء \fBDocument\fP
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B class tidy.Document(options: OPTION_DICT_TYPE)
شیء Document به همان شکلی که توسط \fBparseString()\fP یا \fBparse()\fP بازگردانده میشود\&.
.INDENT 7.0
.TP
.B get_errors() -> list[ReportItem]
بازگرداندن فهرست خطاها به صورت فهرستی از \fBReportItem\fP\&.
.UNINDENT
.INDENT 7.0
.TP
.B gettext() -> str
متن یونیکد (Unicode) برای خروجی بازگردانده شده توسط tidy.
.UNINDENT
.INDENT 7.0
.TP
.B getvalue() -> bytes
رشته خام به همان شکلی که توسط tidy بازگردانده میشود.
.UNINDENT
.INDENT 7.0
.TP
.B write(stream: BinaryIO) -> None
.INDENT 7.0
.TP
.B پارامترها
\fBstream\fP \-\- شیء شبهفایل قابل نوشتن.
.UNINDENT
.sp
نوشتن سند در جریان (stream).
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B class tidy.ReportItem(err: str)
مورد گزارش خطا به همان صورتی که توسط tidy بازگردانده میشود.
.INDENT 7.0
.TP
.B col: int | None
ستونی که خطا در آن رخ داده است (میتواند None باشد)
.UNINDENT
.INDENT 7.0
.TP
.B err: str
کل پیام خطای بازگردانده شده توسط tidy
.UNINDENT
.INDENT 7.0
.TP
.B full_severity: str
رشته کامل سطح اهمیت خطا
.UNINDENT
.INDENT 7.0
.TP
.B line: int | None
سطری که خطا در آن رخ داده است (میتواند None باشد)
.UNINDENT
.INDENT 7.0
.TP
.B message: str
خودِ پیام خطا
.UNINDENT
.INDENT 7.0
.TP
.B severity: str
کاراکترهای D، W، E یا C که نشاندهنده سطح اهمیت خطا هستند
.UNINDENT
.UNINDENT
.INDENT 0.0.TP
.B exception tidy.TidyLibError
استثنای عمومی Tidy.
.UNINDENT
.INDENT 0.0
.TP
.B exception tidy.InvalidOptionError
استثنا برای گزینهٔ نامعتبر.
.UNINDENT
.INDENT 0.0
.TP
.B exception tidy.OptionArgError
استثنا برای پارامتر نامعتبر.
.UNINDENT
.sp
برای استفاده از uTidylib، باید کتابخانهٔ HTML tidy را نصب داشته باشید.
جهت مشاهدهٔ دستورالعملهای نحوهٔ تهیهٔ آن، <\%> را بررسی کنید.
.sp
پس از نصب کتابخانه، uTidylib را نصب کنید:
.INDENT 0.0
.INDENT 3.5
.sp
.EX
pip install uTidylib
.EE
.UNINDENT
.UNINDENT
.sp
از مشارکت شما در GitHub استقبال میشود؛ ما از آن برای مدیریت کد منبع،
پیگیری اشکالات و ارسال وصلهها استفاده میکنیم، ببینید: <\%>.
.sp
مجموعه آزمون را میتوان با استفاده از pytest اجرا کرد:
.INDENT 0.0
.INDENT 3.5
.sp
.EX
pytest tidy
.EE
.UNINDENT
.UNINDENT
.sp
برای ساخت مستندات، کافی است دستور زیر را اجرا کنید:
.INDENT 0.0
.INDENT 3.5
.sp
.EX
make \-C docs html
.EE
.UNINDENT
.UNINDENT
.sp
این کار مستلزم آن است که Sphinx را نصب داشته باشید.
.sp
مستندات API در دایرکتوری \fBdocs/_build/html/\fP ساخته خواهد شد.
.sp
مجوز MIT
.sp
حق نشر (c) 2003 Cory Dodt <\%>
.sp
حق نشر (c) 2014\-2018 Michal Čihař <\%>
.sp
بدینوسیله، بهطور رایگان به هر شخصی که نسخهای از این نرمافزار و
فایلهای مستندات ضمیمه (\(dqنرمافزار\(dq) را دریافت میکند، اجازه داده میشود
بدون محدودیت از جمله بدون قید حصر، حقوق استفاده، کپی، تغییر، ادغام، انتشار،
توزیع، اعطای مجوز فرعی و/یا فروش نسخههای نرمافزار با آن معامله نماید و
به افرادی که نرمافزار برای آنها فراهم شده است اجازه دهد تا با رعایت
شرایط زیر چنین کنند:
.sp
اعلان حق نشر بالا و این اعلان مجوز باید در کلیهٔ نسخهها یا بخشهای عمدهٔ
نرمافزار گنجانده شود.
.sp
نرمافزار \(dqهمانطور که هست\(dq ارائه میشود، بدون هرگونه ضمانت از هر نوع،
صریح یا ضمنی، شامل اما نه محدود به ضمانتهای تجاری بودن، تناسب برای یک هدف
خاص و عدم نقض. در هیچ موردی نویسندگان یا دارندگان حق نشر مسئولیتی در قبال
هرگونه ادعا، خسارت یا مسئولیتهای دیگر، چه در قالب اقدام قراردادی، شبهجرم یا غیر آن،
که ناشی از، مرتبط با یا در پیوند با نرمافزار یا استفاده از آن و سایر معاملات
با آن باشد نخواهند داشت.
.SH 1.0.0
.INDENT 0.0
.IP \(bu 2
مدرنسازی بستهبندی.
.IP \(bu 2
بهروزرسانی نسخههای پشتیبانیشدهٔ Python.
.IP \(bu 2
سازگاری با Homebrew.
.UNINDENT.SH 0.10
.INDENT 0.0
.IP \(bu 2
حذف پشتیبانی از Python 3.7.
.IP \(bu 2
افزودن پشتیبانی از Python 3.12.
.IP \(bu 2
افزودن نشانههای نوع (type hints).
.IP \(bu 2
بهبود مستندات.
.IP \(bu 2
فراخوانی همیشگی CleanAndRepair پس از تجزیه (parsing).
.IP \(bu 2
رفع مشکل مدیریت آرگومان char_encoding.
.UNINDENT
.SH 0.9
.INDENT 0.0
.IP \(bu 2
حذف پشتیبانی از Python 3.6.
.IP \(bu 2
افزودن پشتیبانی از Python 3.10 و 3.11.
.IP \(bu 2
سازگاری با html\-tidy 5.8.0.
.IP \(bu 2
افزودن پشتیبانی از تعیین مسیر کامل کتابخانه با استفاده از TIDY_LIBRARY_FULL_PATH.
.IP \(bu 2
افزودن getTidyVersion جهت دریافت نسخهٔ libtidy.
.UNINDENT
.SH 0.8
.INDENT 0.0
.IP \(bu 2
پاکسازی کد.
.IP \(bu 2
رفع غلط املایی در یادداشتهای انتشار 0.7.
.UNINDENT
.SH 0.7
.INDENT 0.0
.IP \(bu 2
حذف پشتیبانی از Python 2.
.UNINDENT
.SH 0.6
.INDENT 0.0
.IP \(bu 2
نخستین انتشار رسمی در PyPI.
.UNINDENT
.SH 0.5
.INDENT 0.0
.IP \(bu 2
رفع مشکل سازگاری با بستهٔ وصلهشدهٔ Debian یعنی libtidy5deb1.
.UNINDENT
.SH 0.4
.INDENT 0.0
.IP \(bu 2
سازگاری با html\-tidy 5.6.0.
.IP \(bu 2
افزودن پشتیبانی از Python 3.
.UNINDENT
.SH 0.3
.INDENT 0.0
.IP \(bu 2
نخستین انتشار تحت نگهدارندهٔ جدید.
.IP \(bu 2
ادغام وصلههای Debian.
.IP \(bu 2
رفع مشکلات گوناگون سازگاری (برای نمونه با سیستمهای 64\-bit).
.IP \(bu 2
پاکسازیهای گوناگون کد.
.IP \(bu 2
مجموعه آزمونهای جدید.
.IP \(bu 2
مستندات جدید.
.IP \(bu 2
پشتیبانی از کتابخانهٔ جدید HTML 5 tidy.
.UNINDENT
.sp
این پروژه یک انشعاب (fork) از uTidylib اصلی است که با کسب اجازه از نویسندهٔ اصلی ایجاد شده است.
در ابتدا این پروژه وصلههای مربوط به Debian و سایر توزیعها را در بر میگرفت؛ اکنون
سازگاری با نسخههای اخیر html\-tidy را نیز فراهم کرده و با Python 3 کار میکند.
.sp
کد منبع اصلی همچنان در \%\& در دسترس است.
.INDENT 0.0
.IP \(bu 2
نمایه \%<>
.IP \(bu 2
نمایهٔ ماژولها \%<>
.IP \(bu 2
صفحهٔ جستوجو \%<>
.UNINDENT.SH "نویسندگان (AUTHORS)"
مشارکتکنندگان uTidylib
.SH "کپیرایت و تکثیر (COPYRIGHT)"
مشارکتکنندگان uTidylib
.\" End of generated man page.