Mount Sneffels

From Dissent
Jump to navigation Jump to search

Mount Sneffels is a Python framework for converting a CSV file to pages for the LPRC Button and Sticker Guide. It's written and and currently maintained by James Gholston.


Configuration file should be saved in a robust format such as .ods until it's time to feed it into Mt Sneffels. Then save it as a .csv file (comma separated values text, UTF-8 or maybe 7 bit ASCII for best results)

Comments in the spreahsheet start with a number sign (#) in the NAME column and are ignored unless they're a setting value that starts with a hashbang (#!) which a small part of the engine will look at to find settings declared in the spreadsheet/CSV file.

If a setting, place its value, if any, in the SORT column.

Spreadsheet Columns and What Should Go In Them

  • NAME

Message on or terse description of button. This is also used for anchor tags. Avoid commas. MUST BE UNIQUE WITHIN THE SPREADSHEET

  • SORT

How to sort this. ie without articles. ...Or perhaps if the listed name isn't how to sort at all For use in your spreadsheet software; ignored by Mt Sneffels unless it's a setting value Mt Sneffels depends on the spreadsheet already being sorted.

  • DESCR

Explanation of button message. Include full name or term of anything that's an abbreviation or acronym on the button and source of button message if known. If specific to a single state, say it here.

  • SEE_INSTEAD

If this is here to direct the reader to elsewhere, that elsewhere goes here. Must be a valid NAME or a comma separated list of valid NAMEs These items should only have NAME, SORT, and SEE_INSTEAD populated

  • SEE_ALSO

Related message(s) that might be of interest, especially if this one isn't available at the event table Must be a valid NAME or a comma separated list of valid NAMEs

  • Descr_Auth

Who wrote the description. Internal documentation only, unused by Mt Sneffels

  • Longdescr_Auth

Who wrote the long description, if different from short description authorship. Internal documentation only, unused by Mt Sneffels

  • STRUCT

Which structural category? One application of this information is to better separate into specialized button sets.

  • TOPIC

Which topic category? One application of this information is to better separate into specialized button sets.

  • LPRC Tier

Tier assignment to assist with quantities in sets; designed for the audiences that LPRC template is aimed at

I: High Demand & Core Principles
II: Strong and Popular Libertarian Stances
III: Targeted Policy Advocacy
IV: Deep Libertarian Concepts
V: Special Interest & Complex or Very Low Demand

Internal documentation only, unused by Mt Sneffels

  • CSLSIDE

Does this have outreach versions? (mostly deprecated and only used as a fallback). Yes the name of this column is a misnomer as it includes more than just CSLSide.

  • LPRC

Does this have LPRC versions? (mostly deprecated and only used as a fallback)

  • SETS

List of sets this is included in. Only for sets that don't have their own columns in this spreadsheet. Use a comma separated list of sets if more than one. Best reserved for sets that have a very small set of messages. If it has a bunch, declare a column for it in #!setcolumns instead.

  • IMG

Name of the image showing this. Must have for release builds.

  • 25

1 if available in 25mm outreach, otherwise leave blank.

  • O32

1 if available in 32mm outreach, otherwise leave blank.

  • O44

1 if available in 44mm outreach, otherwise leave blank.

  • O58

1 if available in 58mm outreach, otherwise leave blank.

  • O75

1 if available in 75mm outreach, otherwise leave blank.

  • OSQ

1 if available as square outreach, otherwise leave blank.

  • RSQ

1 if available as square LPRC, otherwise leave blank.

  • R25

1 if available in 25mm LPRC, otherwise leave blank.

  • R32

1 if available in 32mm LPRC, otherwise leave blank.

  • R44

1 if available in 44mm LPRC, otherwise leave blank.

  • R58

1 if available in 58mm LPRC, otherwise leave blank.

  • R75

1 if available in 75mm LPRC, otherwise leave blank.

  • Allbuttons

Date current versions added to AllButtonSort or best guess
YYYY-MM-DD format
If 2023-03-25 or earlier, set to 2023-03-25
Internal documentation only, ignored by Mt Sneffels.

  • LPRC 240 58mm, Et C

Indications of presence in various button sets. Depend on setcolumns setting being correctly parsed by Mt Sneffels


Spreadsheet-Controlled Settings

  • #!basename

Used to automatically create directory and file names. For example, Colson_Mill_Catalog_

  • #!notice

Does there need to be a notice or description at the top? Put it here. Not yet supported

  • #!cssfile

Now supports importing a CSS file. This is the global CSS. Page-specific CSS is specified elsewhere and not yet supported.

  • #!width

Width of contentboxes. Include CSS units (ie 3.5in) -- default is unset and that's an option Support is currently broken. Just hard code it into the CSS file for now.

  • #!columns

How many columns on each page? Default is 2 Support is currently broken. Just hard code it into the CSS file for now.

  • #!colwidth

column width. Include CSS units (ie 3.5in) Support is currently broken. Just hard code it into the CSS file for now.

  • #!imgwid

Fixed width of item images. Include CSS units (ie 3.33in) Support is currently broken. Just hard code it into the CSS file for now.

  • #!debug

Debugging level. 0 for almost nothing; 11 to be insane about it

  • #!missing_img

Name of image file to use when the one it's supposed to have is missing

  • #!headtitle

What to display as the title of the generated HTML page?

  • #!headline

What to display as the title within and at the top of the HTML page itself.

  • #!headboxheight

How much room to make for the headline and notice? Include CSS units (ie 1in) Support is currently broken. Just hard code it into the CSS file for now.

  • #!debug

Set to 0 for minimum debugging output; set to 11 to be insane about it.

  • #!strict

Set to 1 or greater to be obnoxious about detected problems; set to 11 to be as obnoxious as possible.

  • #!nosave

Do we actually save this (set to 0) or just pretend really hard (set to 1)

  • #!setcolumns

Extra columns for set data. Separate with commas.

  • #!longdescr

Preferentially use verbose descriptions when available (set to 1), or prefer short descriptions (set to 0). As of Colson Mill, there are very few long descriptions.