پرونده‌های متنی

هر پرونده متن ساده‌ای که فیلدهایی جداشده با کاما، نقطه‌ویرگول یا تب داشته باشد، مشروط به برقراری چند شرط، می‌تواند در آنکی درون‌ریزی شود.

  • پرونده‌ها باید متن ساده باشند (myfile.txt). قالب‌های دیگر مانند myfile.xls، myfile.rtf، myfile.doc باید ابتدا به‌صورت پرونده متنی ساده ذخیره شوند.

  • پرونده‌ها باید در قالب UTF-8 باشند (پایین را ببینید).

  • آنکی شمار فیلدهای پرونده را با نگاه به نخستین خط (غیرتوضیحی) تعیین می‌کند. اگر بعضی رکوردهای بعدی پرونده فیلدهای کمتری داشته باشند، آنکی فیلدهای مفقود را خالی تلقی می‌کند. اگر بعضی رکوردهای شما فیلدهای اضافی داشته باشند، محتوای اضافی درون‌ریزی نمی‌شود.

  • آنکی می‌کوشد حدس بزند پرونده‌تان از کدام جداکننده فیلد (کاما، تب و غیره) استفاده می‌کند. اگر اشتباه حدس بزند، می‌توانید در پنجره گزینه‌های درون‌ریزی آن را عوض کنید و نتیجه را پیش‌نمایش کنید. یا می‌توانید سربرگ‌های پرونده را بیفزایید تا جداکننده فیلد مشخصی را به‌اجبار اعمال کنید.

فیلدهای پرونده متنی‌تان را می‌توان به هر فیلدی در یادداشت‌هایتان نگاشت کرد، از جمله فیلد برچسب‌ها. هنگام درون‌ریزی می‌توانید انتخاب کنید کدام فیلد پرونده متنی به کدام فیلد یادداشت مربوط است.

وقتی پرونده متنی را درون‌ریزی می‌کنید، می‌توانید انتخاب کنید کارت‌ها در کدام دسته قرار گیرند. در نظر داشته باشید که اگر گزینه بازنویسی دسته (deck override) برای یکی یا چند تا از قالب‌هایتان تنظیم شده باشد، کارت‌ها به آن دسته می‌روند نه دسته‌ای که انتخاب کرده‌اید.

این مثالی از پرونده معتبری با سه فیلد است:

apple;banana;grape
first field;second field;third field

دو راه برای گنجاندن خط جدید یا جداکننده فیلد در فیلدها وجود دارد.

گریز دادن نویسه‌ها با قراردادن محتوای فیلد در گیومه:

hello;"this is
a two line answer"
two;this is a one line field
"this includes a ; (semicolon)";another field

چون گیومه‌ها برای علامت‌گذاری شروع و پایان فیلد استفاده می‌شوند، اگر می‌خواهید داخل فیلد‌تان بیاورند، باید یک گیومه دوتایی را با دو گیومه دوتایی جایگزین کنید تا از برخورد معمول «گریز» شوند؛ مانند:

field one;"field two with ""escaped quotes"" inside it"

وقتی از برنامه صفحه‌گسترده‌ای مانند LibreOffice برای ساخت پرونده CSV استفاده می‌کنید، خودش گریز دادن گیومه‌های دوتایی را انجام می‌دهد.

استفاده از خطوط جدید HTML:

hello; this is<br>a two line answer
two; this is a one line one

باید Allow HTML in fields را در گفت‌وگوی درون‌ریزی روشن کنید تا خطوط جدید HTML کار کنند.

خطوط چندتاییِ گریزشده اگر از حذف‌های اطلاعاتی چندخطی استفاده می‌کنید درست کار نمی‌کنند. در این حالت، به‌جایش از خطوط جدید HTML استفاده کنید.

همچنین می‌توانید برچسب‌ها را در فیلد دیگری بیاورید و آن را در گفت‌وگوی درون‌ریزی به‌عنوان فیلد برچسب‌ها انتخاب کنید:

first field;second field;tags

این مثالی از پرونده معتبری است که خط اولش نادیده گرفته می‌شود (\#):

# this is a comment and is ignored
foo bar;bar baz;baz quux
field1;field2;field3

صفحه‌گسترده‌ها و UTF-8

اگر پرونده‌تان نویسه‌های غیرلاتین دارد (مانند اعراب‌ها، ژاپنی و غیره)، آنکی انتظار دارد پرونده‌ها با «کدگذاری UTF-8» ذخیره شده باشند. آسان‌ترین راه انجام این کار، استفاده از برنامه صفحه‌گسترده رایگان LibreOffice به‌جای Excel برای ویرایش پرونده‌تان است، چون به‌راحتی از UTF-8 پشتیبانی می‌کند و برخلاف Excel محتوای چندخطی را هم درست برون‌بری می‌کند. اگر می‌خواهید به استفاده از Excel ادامه دهید، برای اطلاعات بیشتر این سند را ببینید.

برای ذخیره صفحه‌گسترده‌تان به پرونده‌ای که آنکی بتواند با LibreOffice بخواند، به File > Save As بروید و سپس CSV را برای نوع پرونده انتخاب کنید. پس از پذیرفتن گزینه‌های پیش‌فرض، LibreOffice پرونده را ذخیره می‌کند و سپس می‌توانید پرونده ذخیره‌شده را در آنکی درون‌ریزی کنید.

HTML

آنکی می‌تواند متن درون‌ریزی‌شده از پرونده‌های متنی را به‌عنوان HTML (زبانی که برای صفحات وب استفاده می‌شود) تلقی کند. این یعنی متن دارای درشتی، مورب و قالب‌بندی‌های دیگر را می‌توان به پرونده متنی برون‌بری و دوباره درون‌ریزی کرد. اگر می‌خواهید قالب‌بندی HTML بگنجانید، می‌توانید هنگام درون‌ریزی کادر "allow HTML in fields" را علامت بزنید. شاید بخواهید این را خاموش کنید اگر سعی دارید کارت‌هایی را درون‌ریزی کنید که محتوایشان شامل گیومه زاویه‌ای یا نحو HTML دیگری است.

اگر می‌خواهید از HTML برای قالب‌بندی پرونده‌تان استفاده کنید اما همچنین گیومه‌های زاویه‌ای یا امپرسندها را بیاورید، می‌توانید از جایگزینی‌های زیر استفاده کنید:

نویسهجایگزین
<&lt;
>&gt;
&&amp;

درون‌ریزی رسانه

اگر می‌خواهید صدا و تصویر را از درون‌ریزی پرونده متنی بگنجانید، پرونده‌ها را در پوشه collection.media رونوشت کنید. در پوشه رسانه زیرپوشه نگذارید، وگرنه بعضی قابلیت‌ها کار نخواهند کرد.

پس از رونوشت‌کردن پرونده‌ها، یکی از فیلدهای پرونده متنی‌تان را این‌گونه تغییر دهید.

<img src="myimage.jpg">

یا

[sound:myaudio.mp3]

همچنین می‌توانید از قابلیت یافتن و جایگزینی در صفحه مرورگر برای به‌روزرسانی همه فیلدها یک‌جا استفاده کنید. اگر هر فیلد متنی مانند "myaudio" دارد و می‌خواهید صدا پخش کند، به‌دنبال (.*) می‌گردید و با گزینه عبارت‌های باقاعده فعال، آن را با "\[sound:\\1.mp3\]" جایگزین می‌کنید.

هنگام درون‌ریزی پرونده متنی با این ارجاع‌ها، باید مطمئن شوید گزینه "Allow HTML" را فعال کرده‌اید.

شاید وسوسه شوید این کار را در قالب انجام دهید؛ مانند:

<img src="{{field name}}">

آنکی این را به دو دلیل پشتیبانی نمی‌کند: جست‌وجوی رسانه‌های استفاده‌شده پرهزینه است، چون هر کارت باید رندر شود، و چنین کارکردی برای کاربران دسته اشتراکی بدیهی نیست. لطفاً به‌جایش از تکنیک یافتن و جایگزینی استفاده کنید.

رسانه فله

گزینه دیگر برای درون‌ریزی مقادیر زیادی رسانه یک‌جا، استفاده از افزونه media import است. این افزونه برای همه پرونده‌های پوشه‌ای که انتخاب می‌کنید به‌طور خودکار یادداشت می‌سازد؛ با نام پرونده‌ها در روی (منهای پسوند پرونده؛ پس اگر پرونده‌ای به نام apple.jpg دارید، روی می‌گوید "apple") و تصویرها یا صداها در پشت. اگر چیدمان متفاوتی از رسانه و نام پرونده‌ها می‌خواهید، می‌توانید پس از ساخت کارت‌ها نوع یادداشت‌شان را تغییر دهید.

تکراری‌ها و به‌روزرسانی

هنگام درون‌ریزی پرونده‌های متنی، آنکی از فیلد اول برای تعیین یکتا بودن یادداشت استفاده می‌کند. به‌طور پیش‌فرض، اگر پرونده‌ای که درون‌ریزی می‌کنید فیلد اولی داشته باشد که با یکی از یادداشت‌های موجود مجموعه‌تان مطابقت داشته باشد و آن یادداشت موجود از همان نوعِ در حال درون‌ریزی باشد، بقیه فیلدهای یادداشت موجود بر اساس محتوای پرونده درون‌ریزی‌شده به‌روزرسانی می‌شوند. جعبه کشویی در صفحه درون‌ریزی به شما اجازه می‌دهد این رفتار را تغییر دهید: یا نادیده‌گرفتن کامل تکراری‌ها، یا درون‌ریزی‌شان به‌عنوان یادداشت‌های جدید به‌جای به‌روزرسانی موجودها.

تنظیم match scope تعیین می‌کند تکراری‌ها چگونه شناسایی شوند. وقتی note type انتخاب شده، آنکی اگر یادداشت دیگری با همان نوع یادداشت، همان فیلد اول را داشته باشد تکراری تشخیص می‌دهد. وقتی روی note type and deck است، فقط وقتی تکراری علامت می‌خورد که یادداشت موجود اتفاقاً در همان دسته‌ای هم باشد که به آن درون‌ریزی می‌کنید.

اگر به‌روزرسانی را روشن گذاشته باشید و نسخه‌های قدیمی‌تری از یادداشت‌هایی که درون‌ریزی می‌کنید هم‌اکنون در مجموعه‌تان باشند، در همان‌جا (در دسته‌های فعلی‌شان) به‌روزرسانی می‌شوند نه اینکه به دسته‌ای که در گفت‌وگوی درون‌ریزی تنظیم کرده‌اید منتقل شوند. اگر یادداشت‌ها در همان‌جا به‌روزرسانی شوند، اطلاعات زمان‌بندی موجود روی همه کارت‌هایشان حفظ می‌شود.

برای اطلاع از نحوه برخورد با تکراری‌ها در پرونده‌های .apkg، بخش بسته‌های دسته را ببینید.

سربرگ‌های پرونده

آنکی 2.1.54+ از سربرگ‌های خاصی پشتیبانی می‌کند که می‌توان در پرونده متنی گنجاند تا درون‌ریزی قدرتمندتر یا راحت‌تر شود. این سربرگ‌ها از جفت‌های #key:value تشکیل شده‌اند و باید در خطوط جداگانه در بالای پرونده فهرست شوند.

کلیدمقادیر مجازرفتار
separatorComma، Semicolon، Tab، Space، Pipe، Colon، یا نویسه‌های تحت‌اللفظی متناظرجداکننده فیلد را تعیین می‌کند.
htmltrue، falseتعیین می‌کند آیا پرونده به‌عنوان HTML تلقی شود یا نه.
tagsفهرست برچسب‌ها، جدا شده با فاصلهبرچسب‌های فهرست‌شده را به هر یادداشت درون‌ریزی‌شده می‌افزاید.
columnsفهرست نام‌ها، جدا شده با جداکنندهٔ پیش‌تر تنظیم‌شدهشمار ستون‌ها را تعیین و نام‌های داده‌شده‌شان را هنگام درون‌ریزی نشان می‌دهد.
notetypeنام یا شناسه نوع یادداشتنوع یادداشت را از پیش تنظیم می‌کند، اگر وجود داشته باشد.
deckنام یا شناسه دستهدسته را از پیش تنظیم می‌کند، اگر وجود داشته باشد.
notetype column1، 2، 3، ...تعیین می‌کند کدام ستون شامل نام یا شناسه نوع یادداشت هر یادداشت است؛ ستون نوع یادداشت را ببینید.
deck column1، 2، 3، ...تعیین می‌کند کدام ستون شامل نام یا شناسه دسته هر یادداشت است؛ ستون دسته را ببینید.
tags column1، 2، 3، ...تعیین می‌کند کدام ستون شامل برچسب‌های هر یادداشت است.
guid column1، 2، 3، ...تعیین می‌کند کدام ستون شامل GUID هر یادداشت است؛ ستون GUID را ببینید.

بعضی سربرگ‌ها پیامدهای بیشتری دارند.

ستون نوع یادداشت

معمولاً همه یادداشت‌های یک پرونده به یک نوع یادداشت واحد نگاشت می‌شوند. این با وجود ستونی از نام‌ها یا شناسه‌های نوع یادداشت تغییر می‌کند.

این به شما اجازه می‌دهد یادداشت‌هایی با انواع یادداشت متفاوت درون‌ریزی کنید و فیلدهایشان ضمناً نگاشت می‌شوند: نخستین ستون منظم برای نخستین فیلد هر یادداشت — صرف‌نظر از نوع یادداشتش — استفاده می‌شود، دومین ستون منظم برای دومین فیلد و به همین ترتیب. ستون منظم یعنی ستونی که اطلاعات ویژه‌ای مانند دسته‌ها، برچسب‌ها، انواع یادداشت یا GUID ندارد.

ستون دسته

معمولاً هر کارت جدیدی که در نتیجه درون‌ریزی پرونده متنی ساخته شود، در یک دستهٔ انتخابی شما قرار می‌گیرد. اما اگر پرونده ستون دسته داشته باشد، کارت‌های جدید یک یادداشت در دسته مشخص‌شده‌اش قرار می‌گیرند. اگر دسته وجود نداشته باشد، دسته‌ای با نام داده‌شده ساخته می‌شود.

ستون GUID

GUID مخفف شناسه یکتای سراسری است. وقتی در آنکی یادداشت می‌سازید، آنکی به هر یادداشت شناسه یکتایی منتسب می‌کند که می‌توان برای بررسی تکراری استفاده کرد. اگر یادداشت‌هایتان را با GUID همراه برون‌بری کنید، می‌توانید در یادداشت‌ها تغییراتی ایجاد کنید و تا وقتی فیلد GUID را تغییر ندهید، می‌توانید یادداشت‌ها را دوباره درون‌ریزی کنید تا یادداشت‌های موجود به‌روزرسانی شوند.

توجه کنید GUID قرار است توسط آنکی ساخته شود. اگر شناسه‌های خودتان را می‌سازید — مانند MYNOTE0001 — توصیه می‌شود شناسه‌ها را در فیلد اول بگذارید، نه اینکه آن‌ها را به GUID داخلی آنکی منتسب کنید. هنگام درون‌ریزی، آنکی می‌تواند از فیلد اول یا GUID برای بررسی تکراری استفاده کند؛ پس لازم نیست شناسه‌ها را GUID کنید تا بتوانید یادداشت‌هایتان را به‌روزرسانی کنید.

نکته دیگر اینکه گزینه تکراری برای سطرهایی که GUID ناخالی دارند کار نمی‌کند. اگر GUID داده شده و هم‌اکنون در مجموعه موجود باشد، تکراری ساخته نمی‌شود.