Template:Category/Experiment

From Miniscope
Jump to: navigation, search

Render template for Category:Experiment pages.

Called by the SemanticSchemas dispatcher when a page belongs to Category:Experiment. Renders a documented miniscope preparation as a masthead plus a sequence of labelled spec blocks, in the order someone planning an experiment actually needs them: what animal, what target, what indicator, how you got optical access, how you imaged it, who to ask. Visual treatment lives in Template:Category/Experiment/styles.css (TemplateStyles).

Why spec blocks and not the default property table

The default SemanticSchemas table renders one flat row per property. With ~45 properties that produces a wall of rows in which Has expression time sits between two unrelated fields and the reader has to hunt. Grouping into Animal / Target / Indicator / Optical access / Imaging / Contact matches how the information is used and lets a mostly-empty group disappear entirely rather than contributing empty rows.

The curation banner is deliberately loud

A registry that mixes values transcribed from published methods with values typed into a web form by a stranger is only trustworthy if the reader can tell which is which without digging. The banner at the top of every entry states Has curation status in plain language, and the "Community-submitted" and "Needs review" states get a warning tint so an unreviewed entry never reads as authoritative. Do not soften this into a small chip - the whole registry's credibility rests on it.

Empty-group suppression

Every block is wrapped in an #if over the union of the properties it contains, so an entry with no surgical detail renders without an empty "Optical access" heading. The union tests are verbose but keep the page honest: a heading present means data present.

Properties (snake_case from dispatcher)

  • has_name / has_description - title and gloss
  • has_curation_status - provenance banner
  • has_publication - source paper link
  • has_species / has_animal_strain /
 has_transgenic_line / has_animal_sex /
 has_animal_age / has_animal_count - Animal block
  • has_brain_region / has_stereotaxic_coordinates /
 has_hemisphere / has_cell_type - Target block
  • has_indicator / has_indicator_type /
 has_indicator_delivery / has_viral_construct /
 has_viral_titer / has_injection_volume /
 has_expression_time - Indicator block
  • has_optical_access / has_lens_specification /
 has_implant_depth / has_surgery_staging /
 has_surgery_interval / has_baseplating_interval -
 Optical access block
  • has_project / has_recording_condition /
 has_frame_rate / has_imaging_schedule /
 has_behavioral_paradigm / has_analysis_pipeline /
 has_cell_yield - Imaging block
  • has_known_challenges - callout box
  • has_experimenter / has_contact_name /
 has_contact_pi / has_organization /
 has_affiliation / has_email - Contact block
  • has_protocol_url / has_repository_url /
 has_dataset_url / has_website - Resources block
  • has_notes - free notes