Synchronet v3.21e-Win32 (install) has been released (Mar-2026).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
config:text_file_sections [2026/05/03 20:17] – Corrected: SCFG -> Text File Sections IS the editor (in scfg/scfg.c, not removed) Claude.Aiconfig:text_file_sections [2026/05/04 20:29] (current) – Convert SCFG/UIFC screen captures from <code>/<file> blocks to 2-space-indented preformatted text Claude.Ai
Line 7: Line 7:
 ===== Section List ===== ===== Section List =====
  
-<code> +  ╔═══════════════════════════════════════════╗ 
-╔═══════════════════════════════════════════╗ +  ║             Text File Sections            ║ 
-║             Text File Sections            ║ +  ╠═══════════════════════════════════════════╣ 
-╠═══════════════════════════════════════════╣ +  ║ │Information                              ║ 
-║ │Information                              ║ +  ║ │ANSI Artwork                             ║ 
-║ │ANSI Artwork                             ║ +  ║ │ANSI Music Files                         ║ 
-║ │ANSI Music Files                         ║ +  ║ │PETSCII Artwork                          ║ 
-║ │PETSCII Artwork                          ║ +  ║ │RIP Art                                  ║ 
-║ │RIP Art                                  ║ +  ║ │UTF-8 Tests                              ║ 
-║ │UTF-8 Tests                              ║ +  ║ │Operator                                 ║ 
-║ │Operator                                 ║ +  ║ │PCBoard Display Files                    ║ 
-║ │PCBoard Display Files                    ║ +  ║ │Wildcat! Display Files                   ║ 
-║ │Wildcat! Display Files                   ║ +  ║ │VT100 art                                ║ 
-║ │VT100 art                                ║ +  ╚═══════════════════════════════════════════╝
-╚═══════════════════════════════════════════╝ +
-</code>+
  
   * ''Ins'' or ''+'' — add a new section   * ''Ins'' or ''+'' — add a new section
Line 33: Line 31:
 ===== Per-Section Options ===== ===== Per-Section Options =====
  
-<code> +  ╔══════════════════════════════════════════════════════════╗ 
-╔══════════════════════════════════════════════════════════╗ +  ║                        Information                       ║ 
-║                        Information                       ║ +  ╠══════════════════════════════════════════════════════════╣ 
-╠══════════════════════════════════════════════════════════╣ +  ║ │Name                       Information                  ║ 
-║ │Name                       Information                  ║ +  ║ │Internal Code              INFO                         ║ 
-║ │Internal Code              INFO                         ║ +  ║ │Access Requirements                                     ║ 
-║ │Access Requirements                                     ║ +  ╚══════════════════════════════════════════════════════════╝
-╚══════════════════════════════════════════════════════════╝ +
-</code>+
  
 ^ Option Name         ^ Description ^ ^ Option Name         ^ Description ^
Line 53: Line 49:
  
   * ''[[dir:data]]/text/<code>/'' — text files for the section (any text format: ASCII, ANSI, UTF-8, etc.). Created automatically by SCFG when the section is saved.   * ''[[dir:data]]/text/<code>/'' — text files for the section (any text format: ASCII, ANSI, UTF-8, etc.). Created automatically by SCFG when the section is saved.
-  * ''[[dir:data]]/text/<code>.ini'' — //optional// per-section metadata file used by the renderer (display order, friendly titles, per-file display mode).+  * ''[[dir:data]]/text/<code>.ini'' — //optional// per-section metadata file (see [[#section_ini_file|below]]). 
 + 
 +The configuration of the sections themselves (the ''[text:CODE]'' blocks) is persisted to ''[[dir:ctrl]]/[[config:file.ini]]''
 + 
 +==== Section .ini File ==== 
 + 
 +If present at ''[[dir:data]]/text/<code>.ini'', this file is read by the default renderer ([[:dir:exec]]/text_sec.js) and gives the sysop control over presentation defaults and per-file overrides. 
 + 
 +=== Root section keys === 
 + 
 +Keys placed before any ''[<filename>]'' section header apply to the entire text section as defaults: 
 + 
 +^ Key    ^ Default      ^ Description ^ 
 +| ''mode'' | ''P_CPM_EOF'' | Default //pmode// flags passed to ''console.printfile()'' for files in this section. Value is a JavaScript expression of one or more ''P_*'' constants combined with ''%%|%%''. See the [[#pmode_flag_reference|pmode flag reference]] below. | 
 +| ''cols'' | //undefined// (use terminal width) | Column count to format file output to. Files are wrapped or truncated to this width depending on the ''mode'' flags. | 
 + 
 +Example minimal section .ini: 
 +<code ini> 
 +mode=P_CPM_EOF | P_NOATCODES 
 +cols=80 
 +</code> 
 + 
 +=== Per-file sections === 
 + 
 +Each ''[<key>]'' header in the .ini file describes one displayable file in the section. The ''<key>'' is a sysop-chosen short identifier the user types to view the file. 
 + 
 +^ Field    ^ Description ^ 
 +| ''name'' | The actual filename in ''[[dir:data]]/text/<code>/''. | 
 +| ''desc'' | Descriptive title shown in the file list. | 
 +| ''ars''  | Optional [[access:requirements|ARS]] for this individual file. | 
 +| ''mode'' | Optional override of the [[#root_section_keys|section default ''mode'']] for this file. | 
 +| ''cols'' | Optional override of the section default ''cols'' for this file. | 
 +| ''petscii_graphics'' | If set, the file is treated as native PETSCII graphics. | 
 +| ''tail'' | If set to a positive integer N, only the last N lines of the file are displayed (uses ''console.printtail''). | 
 + 
 +Example: 
 +<code ini> 
 +mode=P_CPM_EOF 
 +cols=80 
 + 
 +[news] 
 +name=news.asc 
 +desc=Latest BBS news 
 +mode=P_CPM_EOF | P_AUTO_UTF8 
 + 
 +[c64] 
 +name=welcome.pet 
 +desc=Welcome (PETSCII) 
 +petscii_graphics=true 
 + 
 +[changelog] 
 +name=CHANGELOG 
 +desc=Recent changes (last 50 lines) 
 +tail=50 
 +</code> 
 + 
 +=== pmode flag reference === 
 + 
 +The ''mode'' value is a JavaScript expression of pmode constants (defined in ''sbbsdefs.js'' / ''sbbsdefs.h''), bitwise-OR'd with ''%%|%%''. Most commonly used: 
 + 
 +^ Constant      ^ Meaning ^ 
 +| ''P_NONE''    | No flags. | 
 +| ''P_NOABORT'' | User cannot abort the display with ''Ctrl-C''. | 
 +| ''P_SAVEATR'' | Save current text attributes after display. | 
 +| ''P_NOATCODES'' | Don't process [[custom:atcodes|@-codes]] in the file. | 
 +| ''P_NOPAUSE'' | Disable the //hit a key// pause prompt at end-of-screen. | 
 +| ''P_SEEK''    | Allow keyboard navigation (Home/End/PgUp/PgDn) within the file. | 
 +| ''P_NOCRLF''  | Don't emit a CRLF before the file content. | 
 +| ''P_WORDWRAP'' | Word-wrap long lines for the user's terminal. | 
 +| ''P_CPM_EOF'' | Stop parsing/displaying at ''Ctrl-Z'' (CP/M end-of-file convention). The default. | 
 +| ''P_TRUNCATE'' | Truncate (rather than wrap) lines longer than ''cols''. | 
 +| ''P_PETSCII''  | File is native PETSCII. | 
 +| ''P_UTF8''     | File is UTF-8 encoded. | 
 +| ''P_AUTO_UTF8'' | Auto-detect UTF-8 content. | 
 +| ''P_MARKUP''   | Process StyleCodes / Rich / StructuredText markup. | 
 +| ''P_HIDEMARKS'' | Hide markup source characters from the rendered output. | 
 +| ''P_NOXATTRS'' | Disable "Extra Attribute Codes" processing|
  
-The configuration itself (the ''[text:CODE]'' blocks) is persisted to ''[[dir:ctrl]]/[[config:file.ini]]''.+The full set is defined in ''src/sbbs3/sbbsdefs.h''.
  
 ===== Adding Files to a Section ===== ===== Adding Files to a Section =====