FEATURE: each category can control how many topics to show on categories page

This commit is contained in:
Neil Lalonde 2017-03-01 12:03:12 -05:00
parent ca951f2cf2
commit 262016604d
44 changed files with 71 additions and 105 deletions

View File

@ -70,7 +70,7 @@ const Category = RestModel.extend({
@computed("topic_count")
moreTopics(topicCount) {
return topicCount > Discourse.SiteSettings.category_featured_topics;
return topicCount > (this.get('num_featured_topics') || 2);
},
save() {
@ -103,7 +103,8 @@ const Category = RestModel.extend({
sort_order: this.get('sort_order'),
sort_ascending: this.get('sort_ascending'),
topic_featured_link_allowed: this.get('topic_featured_link_allowed'),
show_subcategory_list: this.get('show_subcategory_list')
show_subcategory_list: this.get('show_subcategory_list'),
num_featured_topics: this.get('num_featured_topics')
},
type: id ? 'PUT' : 'POST'
});
@ -149,7 +150,7 @@ const Category = RestModel.extend({
@computed("topics")
featuredTopics(topics) {
if (topics && topics.length) {
return topics.slice(0, Discourse.SiteSettings.category_featured_topics || 2);
return topics.slice(0, this.get('num_featured_topics') || 2);
}
},

View File

@ -75,8 +75,17 @@
{{plugin-outlet name="category-email-in" args=(hash category=category)}}
{{/if}}
{{#unless category.parent_category_id}}
<section class="field num-featured-topics-fields">
<label>
{{i18n "category.num_featured_topics"}}
{{text-field value=category.num_featured_topics}}
</label>
</section>
{{/unless}}
{{#if showPositionInput}}
<section class='field'>
<section class='field position-fields'>
<label>
{{i18n 'category.position'}}
{{text-field value=category.position class="position-input"}}

View File

@ -148,34 +148,6 @@ div.ac-wrap {
}
}
.edit-auto-close-modal {
.btn.pull-right {
margin-right: 10px;
}
form {
margin: 0;
}
.auto-close-fields {
i.fa-clock-o {
font-size: 1.143em;
}
input {
margin: 0;
}
}
}
.edit-category-modal {
.auto-close-fields {
input[type=text] {
width: 50px;
}
label {
font-size: .929em;
}
}
}
#reply-control {
.composer-loading {
position: absolute;

View File

@ -300,3 +300,33 @@
margin-bottom: 10px;
}
}
.edit-auto-close-modal {
.btn.pull-right {
margin-right: 10px;
}
form {
margin: 0;
}
.auto-close-fields {
i.fa-clock-o {
font-size: 1.143em;
}
input {
margin: 0;
}
}
}
.edit-category-modal {
.auto-close-fields, .num-featured-topics-fields, .position-fields {
input[type=text] {
width: 50px;
}
}
.auto-close-fields label {
font-size: .929em;
}
}

View File

@ -243,6 +243,7 @@ class CategoriesController < ApplicationController
:sort_ascending,
:topic_featured_link_allowed,
:show_subcategory_list,
:num_featured_topics,
:custom_fields => [params[:custom_fields].try(:keys)],
:permissions => [*p.try(:keys)],
:allowed_tags => [],

View File

@ -37,6 +37,7 @@ class Category < ActiveRecord::Base
presence: true,
uniqueness: { scope: :parent_category_id, case_sensitive: false },
length: { in: 1..50 }
validates :num_featured_topics, numericality: { only_integer: true, greater_than: 0 }
validate :parent_category_validator
validate :email_in_validator

View File

@ -8,7 +8,7 @@ class CategoryFeaturedTopic < ActiveRecord::Base
CategoryFeaturedTopic.select(:topic_id, :category_id).order(:rank).each do |f|
(current[f.category_id] ||= []) << f.topic_id
end
Category.select(:id, :topic_id).find_each do |c|
Category.select(:id, :topic_id, :num_featured_topics).find_each do |c|
CategoryFeaturedTopic.feature_topics_for(c, current[c.id] || [])
end
end
@ -17,7 +17,7 @@ class CategoryFeaturedTopic < ActiveRecord::Base
return if c.blank?
query_opts = {
per_page: SiteSetting.category_featured_topics,
per_page: c.num_featured_topics,
except_topic_ids: [c.topic_id],
visible: true,
no_definitions: true

View File

@ -131,7 +131,7 @@ class CategoryList
def sort_unpinned
if @guardian.current_user && @all_topics.present?
@categories.each do |c|
next if c.displayable_topics.blank? || c.displayable_topics.size <= SiteSetting.category_featured_topics
next if c.displayable_topics.blank? || c.displayable_topics.size <= c.num_featured_topics
unpinned = []
c.displayable_topics.each do |t|
unpinned << t if t.pinned_at && PinnedCheck.unpinned?(t, t.user_data)
@ -146,7 +146,7 @@ class CategoryList
def trim_results
@categories.each do |c|
next if c.displayable_topics.blank?
c.displayable_topics = c.displayable_topics[0, SiteSetting.category_featured_topics]
c.displayable_topics = c.displayable_topics[0, c.num_featured_topics]
end
end

View File

@ -20,7 +20,8 @@ class BasicCategorySerializer < ApplicationSerializer
:has_children,
:sort_order,
:sort_ascending,
:show_subcategory_list
:show_subcategory_list,
:num_featured_topics
has_one :uploaded_logo, embed: :object, serializer: CategoryUploadSerializer
has_one :uploaded_background, embed: :object, serializer: CategoryUploadSerializer

View File

@ -10,7 +10,7 @@ class RandomTopicSelector
user = category ? CategoryFeaturedTopic.fake_admin : nil
options = {
per_page: SiteSetting.category_featured_topics,
per_page: category ? category.num_featured_topics : 3,
visible: true,
no_definitions: true
}

View File

@ -1970,6 +1970,7 @@ en:
email_in_disabled_click: 'enable the "email in" setting.'
suppress_from_homepage: "Suppress this category from the homepage."
show_subcategory_list: "Show subcategory list above topics in this category."
num_featured_topics: "Number of topics shown on the categories page:"
all_topics_wiki: "Make new topics wikis by default."
sort_order: "Default Sort:"
allow_badges_label: "Allow badges to be awarded in this category"

View File

@ -901,7 +901,6 @@ ar:
delete_removed_posts_after: "المشاركات التي تم إزالتها عن طريق الكتاب سيتم مسحها اوتوماتيكياً بعد(n) ساعات ة. اذا تم ضبطها علي 0، سيتم مسح المشاركه فوراً"
max_image_width: "أقصى عرض للصور المصغرة في مشاركة"
max_image_height: "أقصى ارتفاع للصور المصغرة في مشاركة"
category_featured_topics: "عدد المواضيع المعروضة لكل فئة من صفحة الفئات /categories .بعد تغير هذه القيمة, قد تستغرق صفحة الفئات 15 دقيقة لتُحَدّث."
show_subcategory_list: "اعرض قائمة الفئات الفرعية بدلاً من قائمة المواضيع عند ادخال فئة ما."
fixed_category_positions: "إذا تم التحقق, ستتمكن من ترتيب الفئات على شكل المطلوب. وإذا لم يتم التحقق, ستسرد الفئات على حسب الفعالية."
fixed_category_positions_on_create: "إذا تحققت، سيحفظ ترتيب الفئة في موضوع الحوار المنشأ (يتطلب fixed_category_positions)."

View File

@ -382,8 +382,6 @@ bs_BA:
delete_removed_posts_after: "Posts removed by the author will be automatically deleted after (n) hours. If set to 0, posts will be deleted immediately."
max_image_width: "Maximum thumbnail width of images in a post"
max_image_height: "Maximum thumbnail height of images in a post"
category_featured_topics: "Number of topics displayed per category on the /categories page. After changing this value, it takes up to 15 minutes for the categories page to update."
show_subcategory_list: "Show subcategory list instead of topic list when entering a category."
fixed_category_positions: "If checked, you will be able to arrange categories into a fixed order. If unchecked, categories are listed in order of activity."
add_rel_nofollow_to_user_content: "Add rel nofollow to all submitted user content, except for internal links (including parent domains). If you change this, you must rebake all posts with: \"rake posts:rebake\""
post_excerpt_maxlength: "Maximum length of a post excerpt / summary."

View File

@ -575,7 +575,6 @@ cs:
min_search_term_length: "Minimální délka hledaného výrazu ve znacích"
unique_posts_mins: "Kolik minut musí uplynout, než může uživatel zaslat příspěvek se stejným obsahem"
queue_jobs: "Zařazovat úlohy do fronty v sidekiq, není-li nastaveno, jsou úlohy vyřizovány okamžitě"
category_featured_topics: "Počet témat zobrazených v seznamu kategorií"
apple_touch_icon_url: "Ikona používaná pro doteková zařízení od firmy Apple. Doporučené rozměry jsou 144px krát 144px."
email_custom_headers: "Seznam vlastních hlaviček emailů, oddělený svislítkem"
enable_long_polling: "'Message bus' smí používat dlouhé výzvy"

View File

@ -729,8 +729,6 @@ da:
delete_removed_posts_after: "Indlæg, fjernet af forfatteren, vil blive automatisk slettet efter (n) hours. Såfremt værdien sat til 0 vil indlæg blive fjernet straks."
max_image_width: "Maximum thumbnail width of images in a post"
max_image_height: "Maksimum miniaturebillede højde for billeder i et indlæg"
category_featured_topics: "Antallet af emner der vises pr. kategori på /categories-siden. Efter ændring af denne værdi kan det tage op til 15 minutter før kategorisiden opdateres."
show_subcategory_list: "Vis subkategori liste i stedet for emneliste, når man åbner en ny kategori."
fixed_category_positions: "Hvis krydset af, vil du være i stand til at arrangere ordnet visning af kategorier. Hvis ikke afkrydset vil de være listet i en rækkefølge baseret på aktivitet."
fixed_category_positions_on_create: "Hvis afkrydset vil kategori visning blive vedligeholdt baseret på emne (kræver manuelt valgt visning af kategorier)."
exclude_rel_nofollow_domains: "En liste af domæner hvor 'nofollow' skal tilføjes til links. tid.com vil desuden automatisk tillade sub.tid Som minimum bør du tilføje top level domænet til sitet, for at hjælpe webcrawlere finde alt indhold. Såfremt andre dele af jeres site er på andre domæner, så tilføj også disse."

View File

@ -839,8 +839,6 @@ de:
delete_removed_posts_after: "Beiträge, die deren Verfasser selbst entfernt hat, werden nach (n) Stunden automatisch gelöscht. Die Beiträge werden sofort gelöscht, wenn dieser Wert auf 0 gesetzt wird."
max_image_width: "Maximale Breite von Thumbnails von Bildern in einem Beitrag."
max_image_height: "Maximale Höhe von Vorschaubildern in einer Nachricht"
category_featured_topics: "Anzahl der angezeigten Themen je Kategorie auf der /categories Seite. Nachdem dieser Wert geändert wurde, dauert es bis zu 15 Minuten bis die Kategorieseite aktualisiert ist."
show_subcategory_list: "Zeige Liste von Unterkategorien statt einer Liste von Themen wenn eine Kategorie ausgewählt wird."
fixed_category_positions: "Falls aktiviert können Kategorien in einer fest vorgegebenen Reihenfolge angeordnet werden. Andernfalls werden Kategorien nach Aktivität sortiert aufgelistet."
fixed_category_positions_on_create: "Wenn aktiviert wird die Kategoriezuordnung beim Erstellen eines Themas erhalten (benötigt fixed_category_positions)."
add_rel_nofollow_to_user_content: "Füge mit Ausnahme interner Links (schließt übergeordnete Domains ein) allen benutzergenerierten Inhalten 'rel nofollow' hinzu. Die Änderung dieser Einstellung erfordert, dass du sämtliche Markdown-Beiträge aktualisierst: \"rake posts:rebake\""

View File

@ -923,7 +923,6 @@ en:
delete_removed_posts_after: "Posts removed by the author will be automatically deleted after (n) hours. If set to 0, posts will be deleted immediately."
max_image_width: "Maximum thumbnail width of images in a post"
max_image_height: "Maximum thumbnail height of images in a post"
category_featured_topics: "Number of topics displayed per category on the /categories page. After changing this value, it takes up to 15 minutes for the categories page to update."
fixed_category_positions: "If checked, you will be able to arrange categories into a fixed order. If unchecked, categories are listed in order of activity."
fixed_category_positions_on_create: "If checked, category ordering will be maintained on topic creation dialog (requires fixed_category_positions)."
add_rel_nofollow_to_user_content: "Add rel nofollow to all submitted user content, except for internal links (including parent domains). If you change this, you must rebake all posts with: \"rake posts:rebake\""

View File

@ -841,8 +841,6 @@ es:
delete_removed_posts_after: "Los posts borrados por su autor serán automáticamente eliminados después de (n) horas. Si se establece este valor a 0, los posts serán eliminados automáticamente."
max_image_width: "Ancho máximo de las miniaturas de las imágenes en un post"
max_image_height: "Alto máximo de las miniaturas de las imágenes en un post"
category_featured_topics: "Número de temas mostrados por categoría en la página /categories. Este cambio puede tardar hasta 15 minutos en verse reflejado"
show_subcategory_list: "Mostrar la lista de subcategorías en vez de la lista de temas cuando entras a una categoría."
fixed_category_positions: "Si está marcado, podrás ordenar las categorías en un orden fijado. Si no, las categorías se mostrarán según su actividad reciente."
fixed_category_positions_on_create: "Al marcar esta opción, el orden de las categorías se mantendrá en el diálogo de creación de temas (requiere fixed_category_positions)."
add_rel_nofollow_to_user_content: "Añadir la etiqueta rel nofollow a todo el contenido introducido por los usuarios, excepto por los enlaces entrantes (incluyendo dominios padre). Si cambias esto, deberás hacer un rebake de todos los posts con: \"rake posts:rebake\""

View File

@ -613,8 +613,6 @@ fa_IR:
delete_removed_posts_after: "نوشته های حذف شده توسط نویسنده بطور خودکار پاک می شوند بعد از (n) ساعت. اگر به 0 تنظیم شود همان موقع پاک خواهند شد. "
max_image_width: "حداکثر عرض تامبنیل عکس ها در نوشته."
max_image_height: "حداکثر طول تامبنیل عکس ها در نوشته."
category_featured_topics: "تعداد جستارهای نمایش داداه شده به دسته بندی در صفحه دسته بندی ها. بعد از عوض کردن این مقدار٬ تا 15 دقیقه زمان می برد تا صفحه دسته بندی ها به روز شود. "
show_subcategory_list: "نمایش زیر دسته بندی ها به جای لیست موضوع هنگام ورود به یک دسته بندی."
fixed_category_positions: "اگر چک شده باشد٬ شما این امکان را دارید تا دسته بندی ها را به ترتیب در یک نظم ثابت قرار دهید. اگر چک نشده باشد٬ دسته بندی ها بر اساس فعالیتشان قرار می گیرند. "
fixed_category_positions_on_create: "اگر انتخاب شود بدین معنی است که ترتیب دسته‌ها در پنجره ایجاد یک عنوان جدید مدیریت خواهد شد (نیازمند fixed_category_positions است)."
add_rel_nofollow_to_user_content: "nofollow REL را اضافه کن به تمام محتویات ارسال شده کاربر٬ بجر برای پیوندهای داخلی (به همراه دامنه های والد). اگر این را عوض کردی٬‌ باید تمام پست ها را rebake کنی با : \"rake posts:rebake\""

View File

@ -841,8 +841,6 @@ fi:
delete_removed_posts_after: "Kirjoittajalta poistetut viestit poistetaan automaattisesti (n) tunnin kuluttua. Jos asetetaan 0, viestit poistetaan välittömästi."
max_image_width: "Esikatselukuvan suurin sallittu leveys viestissä"
max_image_height: "Esikatselukuvan suurin sallittu korkeus viestissä"
category_featured_topics: "Näytettävien ketjujen lukumäärä alueittan Alueet-sivulla. Arvon muuttamisen jälkeen voi kestää jopa 15 minuuttia sivun päivittymiseen."
show_subcategory_list: "Näytä lista tytäralueista ketjulistauksen sijaan alueelle saavuttaessa."
fixed_category_positions: "Jos tämä on valittuna, voit muokata alueiden järjestystä. Jos tätä ei valita, alueet järjetsetään aktiivisuuden mukaan."
fixed_category_positions_on_create: "Jos tämä on valittuna, alueiden järjestys pysyy samana uuden ketjun luomisen dialogissa (edellyttää fixed_category_positions)"
add_rel_nofollow_to_user_content: "Lisää rel nofollow kaikkeen käyttäjien lähettämään sisältöön, paitsi sivuston sisäisiin linkkeihin (sisältäen ylemmät verkkotunnukset). Jos muutat asetusta, sinun täytyy rakentaa viestit uudelleen komennolla: \"rake posts:rebake\""

View File

@ -792,8 +792,6 @@ fr:
delete_removed_posts_after: "Les messages retirés par leur auteur seront automatiquement supprimés après (n) heures. Pour une valeur renseignée à 0, les messages seront supprimés immédiatement."
max_image_width: "Largeur maximale des images dans un message"
max_image_height: "Hauteur maximale autorisée des images dans un message"
category_featured_topics: "Nombre de sujets affichés par catégorie sur la page /categories. Après avoir modifié cette valeur, il faut jusqu'à 15 minutes pour que la page des catégories soit mise à jour."
show_subcategory_list: "Voir les sous-catégories à la place de la liste des sujets lorsqu'on entre dans la catégorie."
fixed_category_positions: "Si coché, vous pourrez modifier l'ordre des catégories. Si décoché, elle seront triées par ordre d'activité."
fixed_category_positions_on_create: "Si coché, le classement des catégories sera maintenu dans la fenêtre de création de sujet (nécessite fixed_category_positions)."
add_rel_nofollow_to_user_content: "Ajouter rel nofollow à tous les contenus des utilisateurs, sauf les liens internes (incluant les domaines parents). Si vous modifiez ceci, vous devez exécuter la commande \"rake posts:rebake\""

View File

@ -837,8 +837,6 @@ he:
delete_removed_posts_after: "פוסטים שהוסרו על ידי מחבריהם ימחקו באופן אוטומטי לאחר (n) שעות. אם הגדרה זו מכוונת ל-0, פוסטים ימחקו מיידית."
max_image_width: "הרוחב המקסימלי של תצוגת תמונה מוקטנת בפוסט"
max_image_height: "גובה מקסימלי של תצוגת תמונה מוקטנת בפוסט"
category_featured_topics: "מספר נושאים שמוצגים עבור כל קטגוריה בדף /categories. לאחר שינוי ערך זה, לוקח עד 15 דקות לדף הקטגוריות להתעדכן."
show_subcategory_list: "הצגת רשימת תת-הקבוצות במקום רשימת הנושאים בעת הכניסה לקטגוריה."
fixed_category_positions: "אם אפשרות זו מסומנת, תוכלו לארגן את הקטגוריות כך שיופיעו בסדר קבוע. אם האופציות אינן מסומנות, הקטגוריות יסודרו על פי סדר הפעילות שהתבצעה בהן."
fixed_category_positions_on_create: "אם האפשרות תסומן, סדר הקטגוריות יוגדר בתפריט יצירת נושא (דורש fixed_category_positions)."
add_rel_nofollow_to_user_content: "הוספת התווית rel nofollow לכל תוכן שפורסם על ידי המשתמש/ת, פרט לקישורים פנימיים (כולל מתחם הורה parent domains). אם תשנו אפשרות זו, עליכם לאפות מחדש את כל הפרסומים עם: \"rake posts:rebake\""

View File

@ -801,8 +801,6 @@ it:
delete_removed_posts_after: "I messaggi rimossi dall'autore saranno automaticamente cancellati dopo (n) ore. Se impostato a 0, i messaggi saranno cancellati subito."
max_image_width: "Larghezza massima delle miniature delle immagini in un messaggio"
max_image_height: "Altezza massima delle miniature delle immagini in un messaggio"
category_featured_topics: "Numero di argomenti mostrati per categoria nella pagina /categories. Dopo il cambiamento di questo valore, la pagina delle categorie impiega fino a 14 minuti per aggiornarsi."
show_subcategory_list: "Quando si accede ad una categoria, mostra l'elenco di sottocategorie anziché l'elenco di argomenti. "
fixed_category_positions: "Se attivata, potrai ordinare le categorie. Se non attivata, le categorie vengono elencate in ordine di attività."
fixed_category_positions_on_create: "Se attivata, verrà mantenuto l'ordinamento delle categorie nella finestra di creazione argomenti (richiede fixed_category_positions)."
add_rel_nofollow_to_user_content: "Aggiungi l'attributo rel nofollow a tutti i contenuti degli utenti, tranne per i link interni (compresi i domini di livello superiore). Se modifichi questa opzione devi aggiornare tutti i messaggi con il comando \"rake posts:rebake\""

View File

@ -567,8 +567,6 @@ ja:
delete_removed_posts_after: "投稿者は投稿を削除してから(N)時間後に削除されます。0を設定すると、すぐに削除されます"
max_image_width: "投稿内での画像サムネイルの最大の幅"
max_image_height: "投稿内での画像サムネイルの最大の高さ"
category_featured_topics: "/categories ページに表示されるカテゴリ毎のトピックの数。変更後、カテゴリページの更新におよそ15分程かかります。"
show_subcategory_list: "カテゴリを表示する際にトピック一覧の代わりにサブカテゴリ一覧を表示"
fixed_category_positions: "チェックすると、カテゴリの表示順をコントロールできます。チェックしない場合、アクティビティ順に表示されます"
fixed_category_positions_on_create: "チェックすると、トピック作成ダイアログ上でカテゴリの順序が維持されます(fixed category positions が必要)。"
add_rel_nofollow_to_user_content: " 内部リンク(親ドメインを含む)を除き、投稿されたすべてのユーザコンテンツに rel nofollow を追加する。この設定を反映するには \"rake posts:rebake\" を実行して baked markdown をすべて更新する必要があります"

View File

@ -566,8 +566,6 @@ ko:
delete_removed_posts_after: "작성자에 의해 삭제된 글은 (n) 시간 뒤 자동으로 삭제됩니다. 0으로 설정 시, 즉시 삭제됩니다."
max_image_width: "글에서 사용할 수 있는 썸네일 이미지의 최대 너비"
max_image_height: "글에서 사용할 수 있는 썸네일 이미지의 최대 높이"
category_featured_topics: "카테고리 페이지에서 한 카테고리당 보여질 글타래의 수"
show_subcategory_list: "카테고리에 들어갈 경우 글타래 리스트 대신 하위카테고리의 리스트를 보여준다."
fixed_category_positions: "활성화하면 고정된 순서의 카테고리들을 바꿀 수 있다. 활성화 하지 않으면 카테고리는 활동적인 순서에 따라 정렬된다."
fixed_category_positions_on_create: "선택 시, 카테고리 정렬이 유지됩니다. (fixed_category_positions가 체크돼 있어야 합니다.)"
add_rel_nofollow_to_user_content: "사용자 생성 컨텐츠에 대해서 rel nofollow 를 설정함. parent domain을 포함한 internal link는 예외임. 이 설정을 바꾸려면 모든 baked markdown을 \"rake posts:rebake\" 명령으로 변경해주서야 함"

View File

@ -729,8 +729,6 @@ nl:
delete_removed_posts_after: "Berichten verwijderd door de auteur zullen automatisch verwijderd worden na (n) uur. Als dit ingesteld is op 0 zullen berichten direct verwijderd worden."
max_image_width: "Maximale breedte van een thumbnail van afbeeldingen in een bericht"
max_image_height: "Maximale hoogte van een thumbnail van afbeeldingen in een bericht"
category_featured_topics: "Aantal topics dat wordt weergegeven in de categorielijst. An het wijzigen van dit getal kan het tot 15 minuten duren voordat de lijst is bijgewerkt."
show_subcategory_list: "Laat subcategorielijst zien in plaats van de topiclijst bij het openen van een categorie."
fixed_category_positions: "Indien aangevinkt kun je categorieën in een vaste volgorde arrangeren. Indien uitgevinkt zullen de categorieeen gesorteerd worden op activiteit."
fixed_category_positions_on_create: "Indien aangevinkt wordt de categorie volgorde aangehouden in het menu voor nieuwe topics (vaste-categorie-posities vereist)."
add_rel_nofollow_to_user_content: "Voeg 'rel nofollow' toe aan alle ingediende gebruikerscontent, behalve voor interne links (inclusief bovenliggende domeinen). Als je dit verandert, moet je ook alle berichten opnieuw renderen met: \"rake posts:rebake\""

View File

@ -916,8 +916,6 @@ pl_PL:
delete_removed_posts_after: "Wpisy usunięte przez autora będą automatycznie zlikwidowane po (n) godzinach. Jeżeli liczba godzin będzie wynosić 0, to zostaną usunięte natychmiast. "
max_image_width: "Maksymalna szerokość miniaturki grafiki we wpisie. "
max_image_height: "Maksymalna wysokość miniaturki grafiki we wpisie. "
category_featured_topics: "Number of topics displayed per category on the /categories page. After changing this value, it takes up to 15 minutes for the categories page to update."
show_subcategory_list: "Po wejściu do kategorii, zamiast listy tematów wyświetlaj listę podkategorii."
fixed_category_positions: "Zaznacz, aby ręcznie ustawiać kolejność kategorii. Odznacz, aby kategorie były sortowane na podstawie aktywności. "
fixed_category_positions_on_create: "Jeżeli jest sprawdzone to porządkowanie kategorii będzie zależało od stworzonego tematu (requires fixed_category_positions). "
add_rel_nofollow_to_user_content: "Dodaj rel nofollow do wszystkich treści użytkownika, poza wewnętrznymi linkami (wliczając domeny nadrzędne). Jeśli to zmienisz, musisz rebake wszystkie posty poprzez: \"rake post:rebake\""

View File

@ -765,8 +765,6 @@ pt:
delete_removed_posts_after: "Mensagens removidas pelo autor serão automaticamente eliminadas após um período de (n) horas. Se estiver definido a 0, as mensagens serão eliminadas imediatamente."
max_image_width: "Largura máxima de miniaturas de imagens numa mensagem."
max_image_height: "Altura máxima de miniaturas de imagens numa mensagem."
category_featured_topics: "Número de tópicos visíveis por categoria na página de /categorias. Após a alteração deste valor, irá demorar até 15 minutos para que a página de categorias fique atualizada."
show_subcategory_list: "Mostrar lista de subcategorias em vez de lista de tópicos quando inserida uma categoria."
fixed_category_positions: "Se estiver marcado, irá conseguir organizar as categorias por uma ordem fixa. Se não estiver marcado, as categorias são listadas por ordem de actividade."
fixed_category_positions_on_create: "Se marcado, a ordenação de categorias irá ser mantida no diálogo de criação do tópico (requer fixed_category_positions)"
add_rel_nofollow_to_user_content: "Adicionar a etiqueta rel nofollow em todos os conteúdos submetidos pelo utilizador, excepto para hiperligações internas (incluindo domínios pai). Se mudar isto, terá que atualizar todas as suas mensagens com: \"rake posts:rebake\""

View File

@ -826,8 +826,6 @@ pt_BR:
delete_removed_posts_after: "Postagens removidas pelo autor serão automaticamente deletadas depois de (n) horas. Se o valor definido for 0, as postagens serão deletadas imediatamente."
max_image_width: "Largura máxima para imagens em um post"
max_image_height: "Altura máxima para imagens em um post"
category_featured_topics: "Número de tópicos exibidos por categoria na página /categories. Depois de alterar este valor, levará até 15 minutos para a página de categorias atualizar-se."
show_subcategory_list: "Mostrar lista de subcategorias ao invés de lista de tópicos ao entrar em uma categoria."
fixed_category_positions: "Se selecionado, você será capaz de organizar as categorias em uma ordem fixa. Se nada for feito, as categorias serão listadas em ordem de atividade."
fixed_category_positions_on_create: "Se ativado, a ordenação das categorias vai ser mantida no formulário de criação de tópico. (requer fixed_category_positions)"
add_rel_nofollow_to_user_content: "Adicionar \"nofollow\" para todo conteúdo incluído por um usuário, exceto links internos (incluindo sub domínios). Para que as mudanças façam efeito é necessário rodar \"rake posts:rebake\"."

View File

@ -810,8 +810,6 @@ ro:
delete_removed_posts_after: "Postările șterse de către autor vor fi automat șterse după (n) de ore. Dacă este setat la 0, postările vor fi șterse imediat."
max_image_width: "Maximul lățimii unui thumbnail într-o postare"
max_image_height: "Maximul înălțimii unui thumbnail într-o postare"
category_featured_topics: "Numărul subiectelor afișate după categorie pe /pagina de categorii. După schimbarea valorii, e nevoie de până la 15 minute până ce pagina de categorii se va actualiza."
show_subcategory_list: "Arată lista de sub-categorii în loc de lista de subiecte când se introduce o categorie."
fixed_category_positions: "Dacă e bifat, veți putea aranja categoriile într-o ordine fixă. Dacă e nebifat, categoriile sunt listate în ordinea activității."
fixed_category_positions_on_create: "Dacă este bifat, ordonarea categoriilor va fi menținută în dialogul de creare a subiectelor (presupune fixed_category_positions)."
add_rel_nofollow_to_user_content: "Adaugă atributul rel nofollow la toate conținuturile transmise de către utilizator, cu excepția link-urilor interne (includiv domeniile părinte). Dacă schimbi această setare, postările trebuie refăcute cu: \"rake posts:rebake\""

View File

@ -842,8 +842,6 @@ ru:
delete_removed_posts_after: "Сообщение, которое удалено автором, будет автоматически удалено через (n) часов. Если установлено 0, то сообщение будет удалено немедленно."
max_image_width: "Максимальная ширина уменьшенных версий изображений, показываемых в сообщениях"
max_image_height: "Максимальная высота уменьшенных версий изображений, показываемых в сообщениях"
category_featured_topics: "Количество тем, отображаемых для одного разделе на странице разделов. После изменения значения потребуется около 15 минут для обновления списков."
show_subcategory_list: "Показывать список подразделов вместо списка тем на страницах разделов."
fixed_category_positions: "Если влючено, разделы можно будет отсортировать в определенном порядке. Иначе разделы будут отображаться в порядке активности в них."
add_rel_nofollow_to_user_content: "Добавить \"rel nofollow\" для всех ссылок за исключением внутренних (включая родительский домен). Изменение данной настройки потребует обновления всех сообщений с помощью команды \"rake posts:rebake\""
post_excerpt_maxlength: "Максимальная длина краткого изложения сообщения."

View File

@ -727,8 +727,6 @@ sk:
delete_removed_posts_after: "Príspevky zmazané autorom budú automaticky zmazané po (n) hodinách. Pokiaľ je nastavená 0, príspevky budú zmazané okamžite."
max_image_width: "Maximálna šírka náhľadu obrázkov v príspevku"
max_image_height: "Maximálna výška náhľadu obrázkov v príspevku"
category_featured_topics: "Počet zobrazených tém na jednu kategóriu na stránke /katgórie. Zmena hodnoty sa na stránkach prejaví do 15 minút."
show_subcategory_list: "Zobraz zoznam podkategórií namiesto zoznamu tém po vstupe do menu kategórií"
fixed_category_positions: "Ak je to označené, budete môcť zoraďovať kategórie v pevnom poradí. Ak je neoznačené, kategórie budu zoradené podlľa aktivity."
fixed_category_positions_on_create: "Ak je označené, triedenie kategórií bude spravované v dialógu na vytváranie témy (vyžaduje fixed_category_positions)."
add_rel_nofollow_to_user_content: "Pridať rel nofollow ku všetkému zaslanému používateľskému kontextu s výnimkou interných odkazov (zahrňuje rodičovskú doménu). Ak to zmeníte, musíte vykonať prípaz rebake na všetky príspevky pomocou: \"rake posts:rebake\""

View File

@ -568,8 +568,6 @@ sq:
delete_removed_posts_after: "Posts removed by the author will be automatically deleted after (n) hours. If set to 0, posts will be deleted immediately."
max_image_width: "Maximum thumbnail width of images in a post"
max_image_height: "Maximum thumbnail height of images in a post"
category_featured_topics: "Number of topics displayed per category on the /categories page. After changing this value, it takes up to 15 minutes for the categories page to update."
show_subcategory_list: "Show subcategory list instead of topic list when entering a category."
fixed_category_positions: "If checked, you will be able to arrange categories into a fixed order. If unchecked, categories are listed in order of activity."
fixed_category_positions_on_create: "If checked, category ordering will be maintained on topic creation dialog (requires fixed_category_positions)."
add_rel_nofollow_to_user_content: "Add rel nofollow to all submitted user content, except for internal links (including parent domains). If you change this, you must rebake all posts with: \"rake posts:rebake\""

View File

@ -779,8 +779,6 @@ sv:
delete_removed_posts_after: "Inlägg som tagits bort av författaren kommer automatiskt att raderas efter (n) timmar. Ange 0 för att omedelbart ta bort inlägg."
max_image_width: "Maxbredd för bildikoner i ett inlägg"
max_image_height: "Maxhöjd för bildikoner i ett inlägg"
category_featured_topics: "Antal ämnen som visas per kategori på /kategorier-sidan. Efter att ha ändrat det här värdet så tar det upp till 15 minuter för kategori-sidan att uppdateras."
show_subcategory_list: "Visa listan med underkategorier istället för ämneslistan när en kategori väljs."
fixed_category_positions: "Om aktiverad, kommer du kunna ordna kategorier i en bestämd ordning. Om inaktiverad, sorteras kategorierna baserat på aktivitet."
fixed_category_positions_on_create: "Kategoriordningen kommer att upprätthållas vid dialogen för skapandet av ämnen om den här bockas i (kräver fixed_category_positions)."
add_rel_nofollow_to_user_content: "Lägg till rel nofollow på allt användargenererat innehåll, förutom interna länkar (inklusive förälderdomän). Om du ändrar det här så måste du uppdatera alla inlägg med \"rake posts:rebake\""

View File

@ -673,8 +673,6 @@ tr_TR:
delete_removed_posts_after: "Yazar tarafından kaldırılan gönderiler (n) saat sonra otomatik olarak silinecektir. 0 olarak ayarlanırsa, gönderiler beklemeden hemen silinir."
max_image_width: "Bir gönderideki küçük resimlerin en fazla genişliği"
max_image_height: "Bir gönderideki küçük resimlerin en fazla yüksekliği"
category_featured_topics: "/categories sayfasında yer alan kategori başına düşen konu sayısı. Bu değeri değiştirirseniz, değişikliğin kategoriler sayfasına yansıması 15 dakika kadar sürebilir."
show_subcategory_list: "Bir kategoriye girildiğinde konu listesi yerine alt kategori listesini göster."
fixed_category_positions: "Seçerseniz, kategoriler için sabit bir sıralama belirleyebileceksiniz. Seçmezseniz, kategoriler etkinlik sırasına göre listelenir. "
fixed_category_positions_on_create: "Seçerseniz, konu oluşturma ekranında da kategori sıralaması korunur (fixed_category_positions gerektirir)."
add_rel_nofollow_to_user_content: "İç bağlantılar (ana alan adları dahil) hariç, gönderilen tüm kullanıcı içeriklerine rel nofollow ekle. Bu ayarı değiştirirseniz, tüm gönderileri \"rake post:rebake\" ile yeniden işlemeniz gerekir."

View File

@ -310,8 +310,6 @@ uk:
unique_posts_mins: "How many minutes before a user can make a post with the same content again"
queue_jobs: "ТІЛЬКИ ДЛЯ РОЗРОБНИКІВ! УВАГА! За замовчуванням, додавати завдання до черги в sidekiq. Якщо вимкнути, Ваш сайт зламається."
crawl_images: "Отримувати зображення з віддалених адрес, щоб встановити правильні розміри ширини і висоти."
category_featured_topics: "Кількість тем на одну категорію, що показуються на сторінці /categories. Після зміни цього значення, оновлення категорій займе до 15 хвилин."
show_subcategory_list: "Показувати перелік підкатегорій замість переліку тем при вході у категорію."
apple_touch_icon_url: "Піктограма, що використовується для сенсорних пристроїв Apple. Рекмоендований розмір 144px на 144px."
email_custom_headers: "Список заголовків електронної пошти, розділених вертикальною рискою"
enable_long_polling: "Message bus used for notification can use long polling"

View File

@ -653,8 +653,6 @@ vi:
delete_removed_posts_after: "Bài viết đã được xóa bởi tác giả sẽ được tự động xóa sau (n) giờ. Nếu cài là 0, bài viết sẽ được xóa ngay lập tức."
max_image_width: "Chiều rộng tối đa của ảnh thu nhỏ trong bài viết."
max_image_height: "Chiều cao tối đa của ảnh thu nhỏ trong bài viết."
category_featured_topics: "Số chủ đề hiện thị mỗi danh mục trong trang /categories. Sau khi thay đổi giá trị này, nó sẽ mất khoảng 15 phút để trang danh mục cập nhật."
show_subcategory_list: "Hiện danh sách chuyên mục con thay vì danh sách chủ đề khi truy cập vào chuyên mục."
fixed_category_positions: "Nếu được bật, bạn sẽ có thể sắp xếp chuyên mục theo một thứ tự cố định. Nếu không bật, chuyên mục sẽ được sắp xếp theo thứ tử hoạt động."
fixed_category_positions_on_create: "Nếu chọn, sắp xếp danh mục sẽ được thực hiện trong cửa sổ tạo chủ đề (yêu cầu fixed_category_positions)."
add_rel_nofollow_to_user_content: "Thêm rel='nofollow' cho tất cả các nội dung mà người dùng gửi, ngoại trừ các liên kết nội bộ (của tên miền chính). Nếu thay đổi, bạn phải thực hiện lại cho tất cả các bài viết với: \"rake posts:rebake\""

View File

@ -765,8 +765,6 @@ zh_CN:
delete_removed_posts_after: "帖子被作者删除,将在(n)小时后被自动删除。"
max_image_width: "帖子中图片允许的最大缩略图宽度"
max_image_height: "帖子中图片允许的最大缩略图宽度"
category_featured_topics: "在分类 /categories 页面中每个分类显示的主题数目。在修改这个值之后,分类页面需要 15 分钟后完成更新。"
show_subcategory_list: "进入分类时显示子分类列表而不是主题列表。"
fixed_category_positions: "如果选择,你将可以设置一个固定的分类顺序。如果不选择,分类将按照活动的顺序显示。"
fixed_category_positions_on_create: "如果选择了,目录排序将会在话题创建对话框中被包含(要求固定目录位置选项)"
add_rel_nofollow_to_user_content: "添加 rel nofollow 属性到所有的用户内容除了内部链接包括父域名。如果你更改了这个你必须重新调制所有帖子以该命令“rake posts:rebake”"

View File

@ -756,8 +756,6 @@ zh_TW:
delete_removed_posts_after: "帖子被作者刪除,將在 (n) 小時後被自動刪除。如果設置為 0帖子將被立即刪除。"
max_image_width: "文章中最大的縮圖寬度"
max_image_height: "文章中的允許圖片最大的縮圖高度"
category_featured_topics: "在分類 /categories 頁面每個分類顯示的討論話題數目。此數值的改變最多需要 15 分鐘才會反應在分類頁面上。"
show_subcategory_list: "進入分類時顯示子分類列表,而非話題列表"
fixed_category_positions: "若勾選,你將能調整並固定分類的順序。若不勾選,分類將會依照活躍程度來排序。"
fixed_category_positions_on_create: "如果選擇了,目錄排序將會在話題創建對話框中被包含(要求固定目錄位置選項)"
add_rel_nofollow_to_user_content: "添加 rel nofollow 屬性到所有的用戶內容除了內部鏈接包括父域名。如果你更改了這個你必須重新調制所有帖子而該命令為“rake posts:rebake”"

View File

@ -204,10 +204,6 @@ basic:
- monthly
- weekly
- daily
category_featured_topics:
client: true
default: 3
min: 1
fixed_category_positions:
client: true
default: false

View File

@ -0,0 +1,14 @@
class AddFeaturedTopicsToCategories < ActiveRecord::Migration
def up
add_column :categories, :num_featured_topics, :integer, default: 3
result = execute("select value from site_settings where name = 'category_featured_topics' and value != '3'")
if result.count > 0 && result[0]["value"].to_i > 0
execute "UPDATE categories SET num_featured_topics = #{result[0]["value"].to_i}"
end
end
def down
remove_column :categories, :num_featured_topics
end
end

View File

@ -34,9 +34,7 @@ describe CategoryFeaturedTopic do
it 'should feature stuff in the correct order' do
SiteSetting.stubs(:category_featured_topics).returns(2)
category = Fabricate(:category)
category = Fabricate(:category, num_featured_topics: 2)
t5 = Fabricate(:topic, category_id: category.id, bumped_at: 12.minutes.ago)
t4 = Fabricate(:topic, category_id: category.id, bumped_at: 10.minutes.ago)
t3 = Fabricate(:topic, category_id: category.id, bumped_at: 7.minutes.ago)
@ -46,7 +44,7 @@ describe CategoryFeaturedTopic do
CategoryFeaturedTopic.feature_topics_for(category)
# Should find more than we need: pinned topics first, then category_featured_topics * 2
# Should find more than we need: pinned topics first, then num_featured_topics * 2
expect(
CategoryFeaturedTopic.where(category_id: category.id).pluck(:topic_id)
).to eq([pinned.id, t2.id, t1.id, t3.id, t4.id])

View File

@ -51,7 +51,7 @@ describe CategoryList do
context "with a category" do
let!(:topic_category) { Fabricate(:category) }
let!(:topic_category) { Fabricate(:category, num_featured_topics: 2) }
context "with a topic in a category" do
let!(:topic) { Fabricate(:topic, category: topic_category) }
@ -71,10 +71,6 @@ describe CategoryList do
let!(:pinned) { Fabricate(:topic, category: topic_category, pinned_at: 10.minutes.ago, bumped_at: 10.minutes.ago) }
let(:category) { category_list.categories.find{|c| c.id == topic_category.id} }
before do
SiteSetting.stubs(:category_featured_topics).returns(2)
end
it "returns pinned topic first" do
expect(category.displayable_topics.map(&:id)).to eq([pinned.id, topic3.id])
end

View File

@ -19,7 +19,6 @@ Discourse.SiteSettingsOriginal = {
"category_colors":"BF1E2E|F1592A|F7941D|9EB83B|3AB54A|12A89D|25AAE2|0E76BD|652D90|92278F|ED207B|8C6238|231F20|808281|B3B5B4|283890",
"enable_mobile_theme":true,
"relative_date_duration":14,
"category_featured_topics":4,
"fixed_category_positions":false,
"enable_badges":true,
"invite_only":false,