Reorganized PCjs settings

This commit is contained in:
Jeff Parsons 2015-12-14 08:22:07 -08:00
commit 8fcdff0a3e
11 changed files with 107 additions and 94 deletions

7
404.md Normal file
View file

@ -0,0 +1,7 @@
---
layout: page
title: PCjs
permalink: /404.html
---
Sorry, that page could not be found.

View file

@ -224,7 +224,7 @@ like a good little REPL.
Use the "load" command to load a JSON machine configuration file. A sample [ibm5150.json](modules/pcjs/bin/ibm5150.json)
is provided in the *bin* directory, which is a "JSON-ified" version of the [machine.xml](devices/pc/machine/5150/mda/64kb/machine.xml)
displayed on the [{{ site.pcjs_domain }}]({{ site.url }}/) home page.
displayed on the [{{ site.pcjs.domain }}]({{ site.url }}/) home page.
The command-line loader creates all the JSON-defined machine components in the same order that the browser creates
XML-defined components. You can also issue the "load" command directly from the command-line:
@ -355,7 +355,7 @@ All published portions are free for redistribution and/or modification under the
[GNU General Public License](/LICENSE) as published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
You are required to include the following copyright notice, with a link to [{{ site.pcjs_domain }}]({{ site.url }}/):
You are required to include the following copyright notice, with a link to [{{ site.pcjs.domain }}]({{ site.url }}/):
> [PCjs]({{ site.url }}/) © 2012-2015 by [Jeff Parsons](mailto:Jeff@pcjs.org) ([@jeffpar](http://twitter.com/jeffpar))

View file

@ -1,14 +1,19 @@
# Site settings
title: "PCjs: The Original IBM PC in a Browser"
title: "PCjs: The Virtual IBM PC"
email: Jeff@pcjs.org
description: > # this means to ignore newlines until "baseurl:"
PCjs: The Original IBM PC in your web browser, plus other retro-computing simulations and resources.
description: >
PCjs: The Original IBM PC in a Browser.
Classic computer simulations in JavaScript.
Includes an archive of historical PC software and publications.
Additional computer simulations in JavaScript include the 6502-based Ohio Scientifc Challenger 1P.
baseurl: "" # "/pcjs" when using http://jeffpar.github.io or "" when using http://pcjs.net
url: "http://pcjs.net" # "http://jeffpar.github.io" or "http://pcjs.net"
twitter_username: jeffpar
github_username: jeffpar
# Build settings
markdown: kramdown
kramdown:
@ -16,73 +21,73 @@ kramdown:
hard_wrap: false
# Custom site settings
pcjs_domain: pcjs.net
pcjs_version: 1.20.1
pcjs_compiled: true
c1pjs_scripts:
- /modules/shared/lib/defines.js
- /modules/shared/lib/dumpapi.js
- /modules/shared/lib/reportapi.js
- /modules/shared/lib/strlib.js
- /modules/shared/lib/usrlib.js
- /modules/shared/lib/weblib.js
- /modules/shared/lib/component.js
- /modules/c1pjs/lib/defines.js
- /modules/c1pjs/lib/panel.js
- /modules/c1pjs/lib/cpu.js
- /modules/c1pjs/lib/rom.js
- /modules/c1pjs/lib/ram.js
- /modules/c1pjs/lib/keyboard.js
- /modules/c1pjs/lib/video.js
- /modules/c1pjs/lib/serial.js
- /modules/c1pjs/lib/disk.js
- /modules/c1pjs/lib/debugger.js
- /modules/c1pjs/lib/computer.js
- /modules/shared/lib/embed.js
pcjs_scripts:
- /modules/shared/lib/defines.js
- /modules/shared/lib/diskapi.js
- /modules/shared/lib/dumpapi.js
- /modules/shared/lib/reportapi.js
- /modules/shared/lib/userapi.js
- /modules/shared/lib/strlib.js
- /modules/shared/lib/usrlib.js
- /modules/shared/lib/weblib.js
- /modules/shared/lib/component.js
- /modules/pcjs/lib/defines.js
- /modules/pcjs/lib/x86.js
- /modules/pcjs/lib/interrupts.js
- /modules/pcjs/lib/messages.js
- /modules/pcjs/lib/panel.js
- /modules/pcjs/lib/bus.js
- /modules/pcjs/lib/memory.js
- /modules/pcjs/lib/cpu.js
- /modules/pcjs/lib/x86seg.js
- /modules/pcjs/lib/x86cpu.js
- /modules/pcjs/lib/x86fpu.js
- /modules/pcjs/lib/x86func.js
- /modules/pcjs/lib/x86ops.js
- /modules/pcjs/lib/x86op0f.js
- /modules/pcjs/lib/x86modb.js
- /modules/pcjs/lib/x86modw.js
- /modules/pcjs/lib/x86modb16.js
- /modules/pcjs/lib/x86modw16.js
- /modules/pcjs/lib/x86modb32.js
- /modules/pcjs/lib/x86modw32.js
- /modules/pcjs/lib/x86modsib.js
- /modules/pcjs/lib/chipset.js
- /modules/pcjs/lib/rom.js
- /modules/pcjs/lib/ram.js
- /modules/pcjs/lib/keyboard.js
- /modules/pcjs/lib/video.js
- /modules/pcjs/lib/serialport.js
- /modules/pcjs/lib/mouse.js
- /modules/pcjs/lib/disk.js
- /modules/pcjs/lib/fdc.js
- /modules/pcjs/lib/hdc.js
- /modules/pcjs/lib/debugger.js
- /modules/pcjs/lib/state.js
- /modules/pcjs/lib/computer.js
- /modules/shared/lib/embed.js
pcjs:
domain: pcjs.net # whereas site.url is used for linking purposes, site.pcjs.domain is used for display purposes
version: 1.20.2 # IMPORTANT: Keep pcjs.version in sync with package.json:version
compiled: true # By default, the compiled pcjs.version scripts will be used (eg, pc.js or pc-dbg.js)
pc_scripts: # If pcjs.compiled is false, the following scripts will be included instead, in the order listed
- /modules/shared/lib/defines.js
- /modules/shared/lib/diskapi.js
- /modules/shared/lib/dumpapi.js
- /modules/shared/lib/reportapi.js
- /modules/shared/lib/userapi.js
- /modules/shared/lib/strlib.js
- /modules/shared/lib/usrlib.js
- /modules/shared/lib/weblib.js
- /modules/shared/lib/component.js
- /modules/pcjs/lib/defines.js
- /modules/pcjs/lib/x86.js
- /modules/pcjs/lib/interrupts.js
- /modules/pcjs/lib/messages.js
- /modules/pcjs/lib/panel.js
- /modules/pcjs/lib/bus.js
- /modules/pcjs/lib/memory.js
- /modules/pcjs/lib/cpu.js
- /modules/pcjs/lib/x86seg.js
- /modules/pcjs/lib/x86cpu.js
- /modules/pcjs/lib/x86fpu.js
- /modules/pcjs/lib/x86func.js
- /modules/pcjs/lib/x86ops.js
- /modules/pcjs/lib/x86op0f.js
- /modules/pcjs/lib/x86modb.js
- /modules/pcjs/lib/x86modw.js
- /modules/pcjs/lib/x86modb16.js
- /modules/pcjs/lib/x86modw16.js
- /modules/pcjs/lib/x86modb32.js
- /modules/pcjs/lib/x86modw32.js
- /modules/pcjs/lib/x86modsib.js
- /modules/pcjs/lib/chipset.js
- /modules/pcjs/lib/rom.js
- /modules/pcjs/lib/ram.js
- /modules/pcjs/lib/keyboard.js
- /modules/pcjs/lib/video.js
- /modules/pcjs/lib/serialport.js
- /modules/pcjs/lib/mouse.js
- /modules/pcjs/lib/disk.js
- /modules/pcjs/lib/fdc.js
- /modules/pcjs/lib/hdc.js
- /modules/pcjs/lib/debugger.js
- /modules/pcjs/lib/state.js
- /modules/pcjs/lib/computer.js
- /modules/shared/lib/embed.js
c1p_scripts:
- /modules/shared/lib/defines.js
- /modules/shared/lib/dumpapi.js
- /modules/shared/lib/reportapi.js
- /modules/shared/lib/strlib.js
- /modules/shared/lib/usrlib.js
- /modules/shared/lib/weblib.js
- /modules/shared/lib/component.js
- /modules/c1pjs/lib/defines.js
- /modules/c1pjs/lib/panel.js
- /modules/c1pjs/lib/cpu.js
- /modules/c1pjs/lib/rom.js
- /modules/c1pjs/lib/ram.js
- /modules/c1pjs/lib/keyboard.js
- /modules/c1pjs/lib/video.js
- /modules/c1pjs/lib/serial.js
- /modules/c1pjs/lib/disk.js
- /modules/c1pjs/lib/debugger.js
- /modules/c1pjs/lib/computer.js
- /modules/shared/lib/embed.js

View file

@ -3,6 +3,9 @@
<div class="wrapper">
<div class="footer-col-wrapper">
{% comment %}
<div class="footer-col footer-col-1">
<ul class="contact-list">
<li>{{ site.title }}</li>
@ -10,8 +13,6 @@
</ul>
</div>
{% comment %}
<div class="footer-col footer-col-2">
<ul class="social-media-list">
{% if site.github_username %}
@ -49,7 +50,7 @@
<div class="footer-col footer-col-3">
<p class="text">
<span style="float:right"><a href="{{ site.url }}">{{ site.pcjs_domain }}</a> website © 2012-2015 by <a href="https://twitter.com/{{ site.twitter_username }}">@{{ site.twitter_username }}</a></span><br/>
<span style="float:right"><a href="{{ site.url }}">{{ site.pcjs.domain }}</a> website © 2012-2015 by <a href="https://twitter.com/{{ site.twitter_username }}">@{{ site.twitter_username }}</a></span><br/>
<span style="float:right">PCjs and C1Pjs released under <a href="http://gnu.org/licenses/gpl.html">GPL version 3 or later</a></span>
</p>
</div>

View file

@ -15,18 +15,18 @@
{% else %}
{% assign machine_state = machine.state %}
{% endunless %}
{% if site.pcjs_compiled == true and machine.uncompiled != true %}
{% capture machine_script %}<script type="text/javascript" src="{{ site.baseurl }}/versions/{{ machine.type | remove:'-dbg' }}js/{{ site.pcjs_version }}/{{ machine.type }}.js"></script>{% endcapture %}
{% if site.pcjs.compiled == true and machine.uncompiled != true %}
{% capture machine_script %}<script type="text/javascript" src="{{ site.baseurl }}/versions/{{ machine.type | remove:'-dbg' }}js/{{ site.pcjs.version }}/{{ machine.type }}.js"></script>{% endcapture %}
{% unless machine_scripts contains machine_script %}
{{ machine_script }}
{% endunless %}
{% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %}
{% if machine_template == '' %}
{% capture machine_template %}{{ site.baseurl }}/versions/{{ machine.type | remove:'-dbg' }}js/{{ site.pcjs_version }}/components.xsl{% endcapture %}
{% capture machine_template %}{{ site.baseurl }}/versions/{{ machine.type | remove:'-dbg' }}js/{{ site.pcjs.version }}/components.xsl{% endcapture %}
{% endif %}
{% else %}
{% if machine.type == "pc" or machine.type == "pc-dbg" %}{% assign array_scripts = site.pcjs_scripts %}{% endif %}
{% if machine.type == "c1p" or machine.type == "c1p-dbg" %}{% assign array_scripts = site.c1pjs_scripts %}{% endif %}
{% if machine.type == "pc" or machine.type == "pc-dbg" %}{% assign array_scripts = site.pcjs.pc_scripts %}{% endif %}
{% if machine.type == "c1p" or machine.type == "c1p-dbg" %}{% assign array_scripts = site.pcjs.c1p_scripts %}{% endif %}
{% for script in array_scripts %}
{% capture machine_script %}<script type="text/javascript" src="{{ site.baseurl }}{{ script }}"></script>{% endcapture %}
{% unless machine_scripts contains machine_script %}

View file

@ -1,8 +1,8 @@
{% for machine in page.machines %}
{% unless site.pcjs_compiled == true and machine.uncompiled != true %}
{% unless site.pcjs.compiled == true and machine.uncompiled != true %}
{% capture machine_style %}{{ site.baseurl }}/modules/{{ machine.type | remove:'-dbg' }}js/templates/components.css{% endcapture %}
{% else %}
{% capture machine_style %}{{ site.baseurl }}/versions/{{ machine.type | remove:'-dbg' }}js/{{ site.pcjs_version }}/components.css{% endcapture %}
{% capture machine_style %}{{ site.baseurl }}/versions/{{ machine.type | remove:'-dbg' }}js/{{ site.pcjs.version }}/components.css{% endcapture %}
{% endunless %}
{% unless machine_styles contains machine_style %}
<link rel="stylesheet" type="text/css" href="{{ machine_style }}">

View file

@ -9,12 +9,12 @@ permalink: /blog/2014/04/14/
There's something very odd going on with between Node+Express and Safari, resulting in blank web pages.
Don't believe me? Just ask [Google](https://www.google.com/#q=node+express+safari+blank+page).
[{{ site.pcjs_domain }}]({{ site.url }}/) contains a lot of XML files that are rendered as web pages using XML
[{{ site.pcjs.domain }}]({{ site.url }}/) contains a lot of XML files that are rendered as web pages using XML
stylesheets. And occasionally Safari -- and ONLY Safari -- will render those XML files as blank pages.
For example, here's the
[machine.xml](/devices/pc/machine/5150/mda/64kb/machine.xml) file that's also embedded on the
[{{ site.pcjs_domain }}]({{ site.url }}/) home page.
[{{ site.pcjs.domain }}]({{ site.url }}/) home page.
When Safari fetched that XML file from an Apache web server (what I used before switching to Node),
the request would look like:

View file

@ -11,7 +11,7 @@ machines:
uncompiled: true
---
Most machines on [{{ site.pcjs_domain }}](/) run with a compiled version of PCjs, which is produced
Most machines on [{{ site.pcjs.domain }}](/) run with a compiled version of PCjs, which is produced
by running PCjs JavaScript source code through Google's Closure Compiler, yielding a smaller (minified)
version that loads and runs much faster than the original source code.
@ -21,7 +21,7 @@ or file location). Once the BACKTRACK feature is finished, it will be folded in
then, the only way to experiment with it is by running the uncompiled code.
To make it easier to launch machines with uncompiled code, a PCjs machine definition can now set `uncompiled`
to *true*, overriding the value of `site.pcjs_compiled` in **_config.yml**.
to *true*, overriding the value of `site.pcjs.compiled` in **_config.yml**.
Here's what a typical Markdown file would look like:

View file

@ -71,7 +71,7 @@ and `id` can be any identifier you want to use to embed the machine. You may al
configuration file if not using the default `machine.xml`; `template` to specify an alternate XSL template file if not
using the default `components.xsl` file; `state` to specify a JSON-encoded machine state file if the machine requires a
predefined state; and `uncompiled` may be set to *true* to force a machine to use uncompiled sources, overriding the
value of `site.pcjs_compiled` in **_config.yml**.
value of `site.pcjs.compiled` in **_config.yml**.
For example, the PCjs home page contains two machines, and so this appears at the top of the root [README.md](https://raw.githubusercontent.com/jeffpar/pcjs/gh-pages/README.md):

View file

@ -131,8 +131,8 @@
}
.footer-col-3 {
width: -webkit-calc(60% - (#{$spacing-unit} / 2));
width: calc(60% - (#{$spacing-unit} / 2));
width: -webkit-calc(100% - (#{$spacing-unit} / 2));
width: calc(100% - (#{$spacing-unit} / 2));
}
@include media-query($on-laptop) {

View file

@ -9,7 +9,7 @@ permalink: /docs/about/
The JavaScript Machines Project (originally at [jsmachines.net](http://jsmachines.net/)) is a collection of computer
simulations written in JavaScript. It has now been released on [GitHub](https://github.com/) as the
[PCjs Project](https://github.com/jeffpar/pcjs), a copy of which is hosted here at [{{ site.pcjs_domain }}]({{ site.url }}/).
[PCjs Project](https://github.com/jeffpar/pcjs), a copy of which is hosted here at [{{ site.pcjs.domain }}]({{ site.url }}/).
The goals of the project are to create fast, full-featured simulations of classic computer
hardware, help people understand how these early machines worked, make it easy to experiment with different machine
@ -28,7 +28,7 @@ The first JavaScript Machines simulation was [C1Pjs](/docs/c1pjs/), a simulation
Challenger 1P, which was a 6502-based microcomputer introduced by Ohio Scientific in 1978.
C1Pjs v1.0 was released in July 2012, first on ecpsim.org and cpusim.org, then on [jsmachines.net](http://jsmachines.net/c1pjs),
and finally [{{ site.pcjs_domain }}]({{ site.url }}/). More information about the first release of C1Pjs was also
and finally [{{ site.pcjs.domain }}]({{ site.url }}/). More information about the first release of C1Pjs was also
[posted](http://osiweb.org/osiforum/viewtopic.php?f=3&t=103) on the [OSI Discussion Forum](http://osiweb.org/osiforum/index.php)
at [osiweb.org](http://osiweb.org/).
@ -75,7 +75,7 @@ All published portions are free for redistribution and/or modification under the
[GNU General Public License](/LICENSE) as published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
You are required to include the following copyright notice, with a link to [{{ site.pcjs_domain }}]({{ site.url }}/):
You are required to include the following copyright notice, with a link to [{{ site.pcjs.domain }}]({{ site.url }}/):
> [PCjs]({{ site.url }}/) © 2012-2015 by [Jeff Parsons](mailto:Jeff@pcjs.org) ([@jeffpar](http://twitter.com/jeffpar))