Changelog
- Update header.md
- Update header.md
- Update index.astro
i thought it would be cool to change the name of our project, hope that's cool guys!
- Merge branch 'main' of https://github.com/munusshih/source-code-print
- Update ownability.md
- Refactor content structure and add dynamic page routing
Moved markdown pages to a new content collection structure and updated content.config.ts to define 'pages' and 'site' collections. Refactored Header.astro to render header content from a markdown file. Added dynamic [slug].astro page for routing, supporting multiple layouts based on page metadata. Improves maintainability and enables more flexible content management.
- Add EmbedBrowser component and enhance UI
Introduces the EmbedBrowser component for in-app link previews with minimize, fullscreen, and taskbar features. Improves NetworkView with header and footer, refines force simulation for smoother layout, and updates global styles for new UI elements. Also adds a footer to the main page and ensures scroll locking in network view.
- Add menu component and improve embed browser UX
Introduces a new Menu component for navigation and updates the layout to include top controls. Refines the EmbedBrowser overlay and modal transitions, improves external link handling, and adjusts NetworkView zoom extents. Updates global styles for top controls and refactors view toggle logic for better user experience.
- Add mermaid integration and new markdown pages
Integrated astro-mermaid for diagram support and configured custom theme variables. Added new markdown pages (about, contact), a base layout, and markdown styles. Removed TabNav component and updated several components and global styles to support new features.
- Add local screenshots and update image references
Downloaded and added local screenshot files for referenced projects and tools. Updated image URLs in images.json to use local paths. Improved fetch-images.js to download images and handle redirects, and updated UI components and styles for better navigation and changelog support. Added changelog.md page documenting project development.
- Add affordances framework and restructure content
Introduces six affordance markdown files and supporting layouts, establishing a new content architecture for the publication. Removes legacy config files, adds Astro content collection config, and updates project scripts for changelog generation. Refactors styles and components for modularity, updates README with new structure and setup, and replaces changelog and contact pages with new Astro pages.
- Update changelog and revise about page content
Added a new changelog entry for the affordances framework and content restructuring. Revised the about page to detail the project's two-phase approach, clarifying materials, index, and prototypes for each phase and emphasizing the project's framework for hybrid publishing practices.
The pedagogical structure took shape with concrete workshop plans. We moved from theory to practice:
- First semester: students become experts in their own subject
- Second semester: translating work for external audiences
- Workshop series covering print form, publication possibilities, technology, and community engagement
- Exploring how to deliver research through accessible, shareable means
- Developing frameworks for showing students examples and inspiring expanded thinking
- Non-book publications and experimental formats
- Affordances as big chapters with descriptions, writings on histories, related readings, tutorials, precedents, and gesture experiments
The presentation itself needed to embody hybrid publishing principles. We organized affordances as the organizing structure. Key question emerged: is the workshop more of a show and tell, or a deep dive into the framework itself?
This phase emphasized that workshops should introduce but not fully develop the framework, leaving room for student interpretation and extension.
As the framework solidified, new questions emerged that would shape later development:
- The translation towards material forms
- Whether all affordances must always be true for work to be interesting
- Licensing conversations within ownability section
- The difference between creator intent and user appropriation
- How personal blogs changed our relationship to publishing
- The centralization of the web through platforms post-Web 2
- Distinguishing adaptability from updatability and reactivity
- The role of feedback loops in publishing
- RSS feeds and API structures for publishing
Key conceptual refinements: changing the framework versus the framework being reactive to users. We began eliminating sequentiality and exploring switching indexing systems between print and digital. The project itself could become the index/catalog. Being able to hide information anywhere and in anything.
This phase deepened our understanding of how historical forces shaped contemporary publishing:
- The concept that the early internet was designed as an index, not a container
- How translations from analogue to digital have evolved throughout internet history
- The distinction between early internet practices and current Web 2 approaches
- Our changing relationship to reading and how it changes our relationship to the web
- The energy and constant maintenance required for websites versus the self-sustaining existence of books
- The energy and flows of life constantly changing web content
Questions about reading shifted our approach: how our habits change, how relationships to indexing and searching have evolved, how our relationship to impermanence shapes publishing practices.
The next step became clear: we needed explicit definitions for the affordances and a working framework that could evolve with our research body.
The affordances framework became increasingly sophisticated. We began:
- Defining opposite affordances and what it means when an affordance is false
- Clarifying affordances through their negation and counter-examples
- Pulling examples from our database to illustrate each concept
- Building a medium list from collected projects
- Placing affordances in context of standard versus non-standard media use
- Researching the history and parallel evolution of affordances
Crucial realization: tools are only as interesting as their contents. We started exploring why it matters for content to exist as a book versus a website versus a presentation, emphasizing containers and content relationships. Questions emerged: why does content need to be translated? How is it translated? What gets omitted or created to fit different kinds of containers? Can the research itself be the content?
A critical refinement occurred when we recognized that applying formats to vague concepts was ineffective. Instead, we separated formats and qualities into distinct organizational systems:
- Using affordances as one categorization system with format as secondary
- Differentiating between process and final form
- Using binary organization (linear/nonlinear) to define opposites
- Treating affordances as ways to move between formats
- Understanding that attributes maintain meaning across different formats
- Recognizing that what we bring to the table is projects that blur these lines
Our framework shifted from black and white thinking to embracing blurry dichotomies. We stopped thinking of digital and physical as opposites and started thinking of them as interrelated systems. The attributes of a medium should have meaning in different ways across formats.
By early October, we began connecting the index concept to existing platforms and tools students already use:
- Exploring collective databases and how search features create feedback loops between system and viewer
- Investigating the authorship of the reader and how feedback creates dialogue
- Considering how to source and scavenge from individual databases to build collective ones
- Thinking about sharing mechanisms: collective are.na boards, periodic scraping, feeding into larger systems
- The complicated hierarchy of information organization
- A small world with infinite possibilities expanding beyond borders
The role of the viewer and reader in creating meaning became increasingly important. We started recognizing that the research could take multiple forms for distribution, and that gathering and organization itself creates space for dialogue.