├── .gitignore ├── .travis.yml ├── App ├── Gruntfile.js ├── beaglebone-getting-started.icns ├── grunt.package.json ├── main.js └── package.json ├── Drivers ├── Linux │ └── FTDI │ │ └── mkudevrule.sh ├── MacOSX │ ├── FTDI │ │ ├── EnergiaFTDIDrivers2.2.18.pkg │ │ └── README.txt │ └── RNDIS │ │ ├── HoRNDIS.pkg │ │ └── HoRNDIS.pkg.sig └── Windows │ ├── BONE_D64.exe │ ├── BONE_DRV.exe │ └── src │ ├── 7zSD.sfx │ ├── Makefile │ ├── config.txt │ ├── dpinst │ └── dpinst.exe │ ├── dpinst64 │ └── dpinst.exe │ ├── files │ ├── CDCACM │ │ └── linux-cdc-acm.inf │ ├── FTDI │ │ ├── Static │ │ │ ├── amd64 │ │ │ │ └── ftd2xx.lib │ │ │ └── i386 │ │ │ │ └── ftd2xx.lib │ │ ├── amd64 │ │ │ ├── ftbusui.dll │ │ │ ├── ftcserco.dll │ │ │ ├── ftd2xx.lib │ │ │ ├── ftd2xx64.dll │ │ │ ├── ftdibus.sys │ │ │ ├── ftlang.dll │ │ │ ├── ftser2k.sys │ │ │ └── ftserui2.dll │ │ ├── ftd2xx.h │ │ ├── ftdibus.inf │ │ ├── ftdiport.inf │ │ └── i386 │ │ │ ├── ftbusui.dll │ │ │ ├── ftcserco.dll │ │ │ ├── ftd2xx.dll │ │ │ ├── ftd2xx.lib │ │ │ ├── ftdibus.sys │ │ │ ├── ftlang.dll │ │ │ ├── ftser2k.sys │ │ │ └── ftserui2.dll │ ├── RNDIS │ │ └── linux.inf │ ├── beagle.ico │ ├── dpinst.xml │ └── in-hand.bmp │ ├── make.bat │ └── mscvr-cross-gdroot.crt ├── LICENSE.txt ├── README.htm ├── README.md ├── START.HTM ├── autorun.inf ├── scripts ├── debian-resecure.sh ├── generate_img.sh ├── get-latest-START.htm.sh └── setup-ubuntu-armhf-3.8.13-bone30.sh └── static ├── bbone-target-config.ccxml ├── beagle-ui.js ├── beagle.css ├── beagle.ico ├── beagleboard.js ├── bonescript.js ├── ccs-jtag-simple.htm ├── common.css ├── favicon.ico ├── images ├── 88x31.png ├── Black-on-USB.jpg ├── BlackUSR.png ├── bad-to-the-bone.jpg ├── beagle-btn-bg.jpg ├── beagle-bullet-list-arrow.gif ├── beagle.png ├── beagle_logo_326x60.png ├── beagle_logo_hdr.gif ├── beaglebone-cookbook.jpg ├── bone-usr3-led.png ├── bone101.png ├── btn_step1.gif ├── btn_step2.gif ├── btn_step3.gif ├── ccs-jtag │ ├── screen1-copy.jpg │ ├── screen2-viewtargetconf.jpg │ ├── screen3-refresh-topright.jpg │ ├── screen4-launch.jpg │ ├── screen5-connect.jpg │ └── screen6-startaddr.jpg ├── download-etcher.png ├── download-latestimage.png ├── embedded-linux-primer.jpg ├── exploring-beaglebone.jpg ├── footer-img.jpg ├── icon_facebook.png ├── icon_google+.png ├── icon_linkedin.png ├── icon_offsite.gif ├── icon_twitter.png ├── in-hand.png ├── install-etcher.png ├── small_check.png ├── url.png ├── write-latestimage.png └── youTube-icon.png ├── jquery-1.8.3.js ├── jquery-1.8.3.min.js ├── jquery-ui.css ├── jquery-ui.min.js ├── jquery.dimensions.js ├── jquery.js ├── jquery.mousewheel.js ├── jquery.movingboxes.min.js ├── jquery.svg.css ├── jquery.svg.js ├── jquery.terminal.css ├── jquery.terminal.js ├── jquery.ui.accordion.js ├── jquery.ui.core.js ├── jquery.ui.widget.js ├── login.css ├── none └── testconn.htm /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.img 3 | *.img.xz 4 | *.iso 5 | *.iso.xz 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | before_install: npm install -g grunt-cli 5 | install: npm install 6 | before_script: grunt build 7 | before_deploy: 8 | - ls -R 9 | - cd build/beaglebone-getting-started/osx32 10 | - zip ../bgs-osx32.zip * 11 | - cd ../../.. 12 | deploy: 13 | provider: releases 14 | api_key: $GITHUBDEPLOY 15 | file: "build/beaglebone-getting-started/bgs-osx32.zip" 16 | skip_cleanup: true 17 | on: 18 | tags: true 19 | -------------------------------------------------------------------------------- /App/Gruntfile.js: -------------------------------------------------------------------------------- 1 | // Move me back up a directory when we are ready to build an app 2 | 3 | module.exports = function(grunt) { 4 | 5 | grunt.initConfig({ 6 | nodewebkit: { 7 | options: { 8 | version: '0.12.0', 9 | buildDir: './build', 10 | macIcns: './App/beaglebone-getting-started.icns', 11 | platforms: ['win', 'osx', 'linux'] // builds both 32 and 64 bit versions 12 | }, 13 | src: ['./App/**', './Docs/**', './README.htm'] 14 | } 15 | }); 16 | 17 | grunt.loadNpmTasks('grunt-node-webkit-builder'); 18 | grunt.registerTask('build', ['nodewebkit']); 19 | grunt.registerTask('test', []); 20 | 21 | }; 22 | -------------------------------------------------------------------------------- /App/beaglebone-getting-started.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/App/beaglebone-getting-started.icns -------------------------------------------------------------------------------- /App/grunt.package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "beaglebone-getting-started-builder", 3 | "description": "BeagleBone Getting Started builder", 4 | "devDependencies": { 5 | "grunt": "~0.4.5", 6 | "grunt-node-webkit-builder": "~1.0.2" 7 | }, 8 | "scripts": { 9 | "test": "grunt test" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /App/main.js: -------------------------------------------------------------------------------- 1 | const {app, BrowserWindow} = require('electron') 2 | const path = require('path') 3 | const url = require('url') 4 | 5 | // Keep a global reference of the window object, if you don't, the window will 6 | // be closed automatically when the JavaScript object is garbage collected. 7 | let win 8 | 9 | function createWindow () { 10 | // Create the browser window. 11 | win = new BrowserWindow({width: 800, height: 600}) 12 | 13 | // and load the index.html of the app. 14 | win.loadURL(url.format({ 15 | pathname: path.join(__dirname, '../START.htm'), 16 | protocol: 'file:', 17 | slashes: true 18 | })) 19 | 20 | // Open the DevTools. 21 | win.webContents.openDevTools() 22 | 23 | // Emitted when the window is closed. 24 | win.on('closed', () => { 25 | // Dereference the window object, usually you would store windows 26 | // in an array if your app supports multi windows, this is the time 27 | // when you should delete the corresponding element. 28 | win = null 29 | }) 30 | } 31 | 32 | // This method will be called when Electron has finished 33 | // initialization and is ready to create browser windows. 34 | // Some APIs can only be used after this event occurs. 35 | app.on('ready', createWindow) 36 | 37 | // Quit when all windows are closed. 38 | app.on('window-all-closed', () => { 39 | // On macOS it is common for applications and their menu bar 40 | // to stay active until the user quits explicitly with Cmd + Q 41 | if (process.platform !== 'darwin') { 42 | app.quit() 43 | } 44 | }) 45 | 46 | app.on('activate', () => { 47 | // On macOS it's common to re-create a window in the app when the 48 | // dock icon is clicked and there are no other windows open. 49 | if (win === null) { 50 | createWindow() 51 | } 52 | }) 53 | 54 | // In this file you can include the rest of your app's specific main process 55 | // code. You can also put them in separate files and require them here. 56 | -------------------------------------------------------------------------------- /App/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "beaglebone-getting-started" 3 | , "version": "0.0.3" 4 | , "main": "main.js" 5 | , "description": "BeagleBone Getting Started App" 6 | , "keywords": [ "beaglebone", "linux", "electron" ] 7 | , "scripts": { 8 | "start": "electron ." 9 | } 10 | , "webkit": { 11 | "plugin": true 12 | } 13 | , "maintainers": [ 14 | { 15 | "name": "Jason Kridner" 16 | , "email": "jkridner@beagleboard.org" 17 | , "web": "http://jkridner.wordpress.com" 18 | } 19 | ] 20 | , "repositories": [ 21 | { 22 | "type": "git" 23 | , "url": "http://github.com/jadonk/beaglebone-getting-started.git" 24 | , "path": "" 25 | } 26 | ] 27 | , "dependencies": { 28 | "socket.io": "0.9.11" 29 | , "jsdom": "0.2.10" 30 | , "mdns": "0.0.7" 31 | , "electron": ">=1.8.2-beta5" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Drivers/Linux/FTDI/mkudevrule.sh: -------------------------------------------------------------------------------- 1 | cat > /etc/udev/rules.d/73-beaglebone.rules < ../BONE_DRV.exe 5 | 6 | ../BONE_D64.exe: BONE_D64.7z 7 | cat 7zSD.sfx config.txt BONE_D64.7z > ../BONE_D64.exe 8 | 9 | BONE_DRV.7z: 10 | cd files && 7za a ../$@ * 11 | cd dpinst && 7za a ../$@ dpinst.exe 12 | 13 | BONE_D64.7z: 14 | cd files && 7za a ../$@ * 15 | cd dpinst64 && 7za a ../$@ dpinst.exe 16 | 17 | clean: 18 | rm BONE_DRV.7z BONE_D64.7z 19 | -------------------------------------------------------------------------------- /Drivers/Windows/src/config.txt: -------------------------------------------------------------------------------- 1 | ;!@Install@!UTF-8! 2 | Title="BeagleBoard Drivers Archive" 3 | Progress="yes" 4 | ExecuteFile="dpinst.exe" 5 | ;!@InstallEnd@! -------------------------------------------------------------------------------- /Drivers/Windows/src/dpinst/dpinst.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/dpinst/dpinst.exe -------------------------------------------------------------------------------- /Drivers/Windows/src/dpinst64/dpinst.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/dpinst64/dpinst.exe -------------------------------------------------------------------------------- /Drivers/Windows/src/files/CDCACM/linux-cdc-acm.inf: -------------------------------------------------------------------------------- 1 | ; Windows USB CDC ACM Setup File 2 | 3 | ; Based on INF template which was: 4 | ; Copyright (c) 2000 Microsoft Corporation 5 | ; Copyright (c) 2007 Microchip Technology Inc. 6 | ; likely to be covered by the MLPL as found at: 7 | ; . 8 | ; For use only on Windows operating systems. 9 | 10 | [Version] 11 | Signature="$Windows NT$" 12 | Class=Ports 13 | ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} 14 | Provider=%Linux% 15 | LayoutFile=layout.inf 16 | DriverVer=11/15/2012,5.1.2600.0 17 | CatalogFile=linux-cdc-acm.cat 18 | 19 | [Manufacturer] 20 | %Linux%=DeviceList, NTamd64 21 | 22 | [DestinationDirs] 23 | DefaultDestDir=12 24 | 25 | 26 | ;------------------------------------------------------------------------------ 27 | ; Windows 2000/XP/Vista-32bit Sections 28 | ;------------------------------------------------------------------------------ 29 | 30 | [DriverInstall.nt] 31 | include=mdmcpq.inf 32 | CopyFiles=DriverCopyFiles.nt 33 | AddReg=DriverInstall.nt.AddReg 34 | 35 | [DriverCopyFiles.nt] 36 | usbser.sys,,,0x20 37 | 38 | [DriverInstall.nt.AddReg] 39 | HKR,,DevLoader,,*ntkern 40 | HKR,,NTMPDriver,,USBSER.sys 41 | HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" 42 | 43 | [DriverInstall.nt.Services] 44 | AddService=usbser, 0x00000002, DriverService.nt 45 | 46 | [DriverService.nt] 47 | DisplayName=%SERVICE% 48 | ServiceType=1 49 | StartType=3 50 | ErrorControl=1 51 | ServiceBinary=%12%\USBSER.sys 52 | 53 | ;------------------------------------------------------------------------------ 54 | ; Vista-64bit Sections 55 | ;------------------------------------------------------------------------------ 56 | 57 | [DriverInstall.NTamd64] 58 | include=mdmcpq.inf 59 | CopyFiles=DriverCopyFiles.NTamd64 60 | AddReg=DriverInstall.NTamd64.AddReg 61 | 62 | [DriverCopyFiles.NTamd64] 63 | USBSER.sys,,,0x20 64 | 65 | [DriverInstall.NTamd64.AddReg] 66 | HKR,,DevLoader,,*ntkern 67 | HKR,,NTMPDriver,,USBSER.sys 68 | HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" 69 | 70 | [DriverInstall.NTamd64.Services] 71 | AddService=usbser, 0x00000002, DriverService.NTamd64 72 | 73 | [DriverService.NTamd64] 74 | DisplayName=%SERVICE% 75 | ServiceType=1 76 | StartType=3 77 | ErrorControl=1 78 | ServiceBinary=%12%\USBSER.sys 79 | 80 | 81 | ;------------------------------------------------------------------------------ 82 | ; Vendor and Product ID Definitions 83 | ;------------------------------------------------------------------------------ 84 | ; When developing your USB device, the VID and PID used in the PC side 85 | ; application program and the firmware on the microcontroller must match. 86 | ; Modify the below line to use your VID and PID. Use the format as shown 87 | ; below. 88 | ; Note: One INF file can be used for multiple devices with different 89 | ; VID and PIDs. For each supported device, append 90 | ; ",USB\VID_xxxx&PID_yyyy" to the end of the line. 91 | ;------------------------------------------------------------------------------ 92 | [SourceDisksFiles] 93 | [SourceDisksNames] 94 | [DeviceList] 95 | %DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_1D6B&PID_0104&MI_02 96 | 97 | [DeviceList.NTamd64] 98 | %DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_1D6B&PID_0104&MI_02 99 | 100 | 101 | ;------------------------------------------------------------------------------ 102 | ; String Definitions 103 | ;------------------------------------------------------------------------------ 104 | ;Modify these strings to customize your device 105 | ;------------------------------------------------------------------------------ 106 | [Strings] 107 | Linux = "Linux Developer Community" 108 | DRIVERFILENAME = "usbser" 109 | DESCRIPTION = "Gadget Serial" 110 | SERVICE = "USB RS-232 Emulation Driver" 111 | -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/Static/amd64/ftd2xx.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/Static/amd64/ftd2xx.lib -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/Static/i386/ftd2xx.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/Static/i386/ftd2xx.lib -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/amd64/ftbusui.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/amd64/ftbusui.dll -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/amd64/ftcserco.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/amd64/ftcserco.dll -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/amd64/ftd2xx.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/amd64/ftd2xx.lib -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/amd64/ftd2xx64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/amd64/ftd2xx64.dll -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/amd64/ftdibus.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/amd64/ftdibus.sys -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/amd64/ftlang.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/amd64/ftlang.dll -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/amd64/ftser2k.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/amd64/ftser2k.sys -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/amd64/ftserui2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/amd64/ftserui2.dll -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/ftd2xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/ftd2xx.h -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/ftdibus.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/ftdibus.inf -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/ftdiport.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/ftdiport.inf -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/i386/ftbusui.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/i386/ftbusui.dll -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/i386/ftcserco.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/i386/ftcserco.dll -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/i386/ftd2xx.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/i386/ftd2xx.dll -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/i386/ftd2xx.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/i386/ftd2xx.lib -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/i386/ftdibus.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/i386/ftdibus.sys -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/i386/ftlang.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/i386/ftlang.dll -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/i386/ftser2k.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/i386/ftser2k.sys -------------------------------------------------------------------------------- /Drivers/Windows/src/files/FTDI/i386/ftserui2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/FTDI/i386/ftserui2.dll -------------------------------------------------------------------------------- /Drivers/Windows/src/files/RNDIS/linux.inf: -------------------------------------------------------------------------------- 1 | ; Based on template INF file found at 2 | ; 3 | ; which was: 4 | ; Copyright (c) Microsoft Corporation 5 | ; and released under the MLPL as found at: 6 | ; . 7 | ; For use only on Windows operating systems. 8 | 9 | [Version] 10 | Signature = "$Windows NT$" 11 | Class = Net 12 | ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} 13 | Provider = %Linux% 14 | DriverVer = 04/27/2012,6.0.6000.16384 15 | CatalogFile = linux-rndis.cat 16 | 17 | [Manufacturer] 18 | %Microsoft% = LinuxDevices,NTx86,NTamd64,NTia64 19 | 20 | ; Decoration for x86 architecture 21 | [LinuxDevices.NTx86] 22 | %LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00 23 | 24 | ; Decoration for x64 architecture 25 | [LinuxDevices.NTamd64] 26 | %LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00 27 | 28 | ; Decoration for ia64 architecture 29 | [LinuxDevices.NTia64] 30 | %LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00 31 | 32 | ;@@@ This is the common setting for setup 33 | [ControlFlags] 34 | ExcludeFromSelect=* 35 | 36 | ; DDInstall section 37 | ; References the in-build Netrndis.inf 38 | [RNDIS.NT.5.1] 39 | Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI 40 | BusType = 15 41 | ; NEVER REMOVE THE FOLLOWING REFERENCE FOR NETRNDIS.INF 42 | include = netrndis.inf 43 | needs = Usb_Rndis.ndi 44 | AddReg = Rndis_AddReg_Vista 45 | 46 | ; DDInstal.Services section 47 | [RNDIS.NT.5.1.Services] 48 | include = netrndis.inf 49 | needs = Usb_Rndis.ndi.Services 50 | 51 | ; Optional registry settings. You can modify as needed. 52 | [RNDIS_AddReg_Vista] 53 | HKR, NDI\params\VistaProperty, ParamDesc, 0, %Vista_Property% 54 | HKR, NDI\params\VistaProperty, type, 0, "edit" 55 | HKR, NDI\params\VistaProperty, LimitText, 0, "12" 56 | HKR, NDI\params\VistaProperty, UpperCase, 0, "1" 57 | HKR, NDI\params\VistaProperty, default, 0, " " 58 | HKR, NDI\params\VistaProperty, optional, 0, "1" 59 | 60 | ; No sys copyfiles - the sys files are already in-build 61 | ; (part of the operating system). 62 | ; We do not support XP SP1-, 2003 SP1-, ME, 9x. 63 | 64 | [Strings] 65 | Linux = "Linux Developer Community" 66 | LinuxDevice = "Linux USB Ethernet/RNDIS Gadget" 67 | Vista_Property = "Optional Vista Property" 68 | -------------------------------------------------------------------------------- /Drivers/Windows/src/files/beagle.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/beagle.ico -------------------------------------------------------------------------------- /Drivers/Windows/src/files/dpinst.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BeagleBone Driver Installer 7 | Welcome to the BeagleBone Driver Installer! 8 | This wizard will install drivers to help you connect to your BeagleBone. 9 | Installing the software for your BeagleBone... 10 | Drivers installation complete 11 | Drivers are now installed and you may continue on to connecting via Hyperterminal and via your web browser. 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | beagle.ico 62 | in-hand.bmp 63 | 64 | FTDI 65 | RNDIS 66 | CDCACM 67 | 68 | on 69 | 70 | -------------------------------------------------------------------------------- /Drivers/Windows/src/files/in-hand.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/Drivers/Windows/src/files/in-hand.bmp -------------------------------------------------------------------------------- /Drivers/Windows/src/make.bat: -------------------------------------------------------------------------------- 1 | echo on 2 | set SDK_PATH="c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin" 3 | set WDK_PATH="c:\Program Files (x86)\Windows Kits\10\bin\x86\" 4 | set ZIP_PATH="c:\Program Files\7-Zip" 5 | %WDK_PATH%\inf2cat /v /driver:%~dp0\files\FTDI /os:XP_X86,Vista_X86,Vista_X64,7_X86,7_X64,8_X86,8_X64,10_X86,10_X64 6 | %WDK_PATH%\inf2cat /v /driver:%~dp0\files\RNDIS /os:XP_X86,Vista_X86,Vista_X64,7_X86,7_X64,8_X86,8_X64,10_X86,10_X64 7 | %WDK_PATH%\inf2cat /v /driver:%~dp0\files\CDCACM /os:XP_X86,Vista_X86,Vista_X64,7_X86,7_X64,8_X86,8_X64,10_X86,10_X64 8 | %SDK_PATH%\signtool sign /v /n "BeagleBoard.org Foundation" /a "files\FTDI\*.cat" 9 | %SDK_PATH%\signtool sign /v /n "BeagleBoard.org Foundation" /a "files\RNDIS\*.cat" 10 | %SDK_PATH%\signtool sign /v /n "BeagleBoard.org Foundation" /a "files\CDCACM\*.cat" 11 | %SDK_PATH%\signtool sign /v /n "BeagleBoard.org Foundation" /a dpinst\dpinst.exe 12 | %SDK_PATH%\signtool sign /v /n "BeagleBoard.org Foundation" /a dpinst64\dpinst.exe 13 | del BONE_DRV.7z 14 | del BONE_D64.7z 15 | cd files 16 | %ZIP_PATH%\7z a ..\BONE_DRV.7z * -m0=LZMA 17 | cd .. 18 | copy BONE_DRV.7z BONE_D64.7z 19 | cd dpinst 20 | %ZIP_PATH%\7z a ..\BONE_DRV.7z dpinst.exe -m0=LZMA 21 | cd .. 22 | cd dpinst64 23 | %ZIP_PATH%\7z a ..\BONE_D64.7z dpinst.exe -m0=LZMA 24 | cd .. 25 | copy /b 7zSD.sfx + config.txt + BONE_DRV.7z ..\BONE_DRV.exe 26 | copy /b 7zSD.sfx + config.txt + BONE_D64.7z ..\BONE_D64.exe 27 | %SDK_PATH%\signtool sign /v /n "BeagleBoard.org Foundation" /a ..\BONE_DRV.exe 28 | %SDK_PATH%\signtool sign /v /n "BeagleBoard.org Foundation" /a ..\BONE_D64.exe 29 | -------------------------------------------------------------------------------- /Drivers/Windows/src/mscvr-cross-gdroot.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIFPjCCAyagAwIBAgITMwAAADe5CPhx7rXplAAAAAAANzANBgkqhkiG9w0BAQUF 3 | ADB/MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH 4 | UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQD 5 | EyBNaWNyb3NvZnQgQ29kZSBWZXJpZmljYXRpb24gUm9vdDAeFw0xMzA4MjcxNzM4 6 | MjNaFw0yMzA4MjcxNzQ4MjNaMGMxCzAJBgNVBAYTAlVTMSEwHwYDVQQKExhUaGUg 7 | R28gRGFkZHkgR3JvdXAsIEluYy4xMTAvBgNVBAsTKEdvIERhZGR5IENsYXNzIDIg 8 | Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw 9 | ggEIAoIBAQDendfqVxhJoVvr119Ihuq+3f/k72cc9GVos1dxoF53u+2bSelwgD1W 10 | GGMIb9ryzNA/fwJUIlQQ2LKB1MB1PUt/x3fDPnirGgO1IGsvaiuxxYh+xLsesMHY 11 | RSdvqjdY94cm19gt9qkXtx9yNk6mFz9lmJLbKm5dov6I4Avef+WNFeHryzrV4hKi 12 | Ey3Yjq9fEj2gCAUItlylZTgERZkeo2BgdMVBpXJiG2LFH29fGkK+AlFlqK4jGGr8 13 | eAOpTX+Aw/qrWvyhQKTKGRb+ssjvXnMN7ne9mvZ5mLyxB2eiFQ3doFjGRHsKPmIo 14 | X7pBB1NYzxF+OHTF+P+1aZCPhHTqlxuvAgEDo4HQMIHNMBMGA1UdJQQMMAoGCCsG 15 | AQUFBwMDMBIGA1UdEwEB/wQIMAYBAf8CAQIwHQYDVR0OBBYEFNLEsNKR1EwRcbNh 16 | yz2h/t2oatTjMAsGA1UdDwQEAwIBhjAfBgNVHSMEGDAWgBRi+wohW39DbhHaCVRQ 17 | a/XSlnHxnjBVBgNVHR8ETjBMMEqgSKBGhkRodHRwOi8vY3JsLm1pY3Jvc29mdC5j 18 | b20vcGtpL2NybC9wcm9kdWN0cy9NaWNyb3NvZnRDb2RlVmVyaWZSb290LmNybDAN 19 | BgkqhkiG9w0BAQUFAAOCAgEATRDixSBxEzvlqdoFA+J2P60+ppJf2dYSTAOx8bTs 20 | r03cTm2ptbtQ5XfKEuR+JilCmD4ZSFT7Tk+uBReMU0kT/Kjtyips+S2iHFq3YFBJ 21 | hCvfl28HVrbisqGBUElz/ON1IXdOJrka6JzYOExPgG2kCRXdMhZeVnpBXTfgSSXp 22 | bmwDqZ+erM5pP0tek/bFA1RwZ88GBc9r/mFNb5FS3qnqoNvV3bulAb44N4Hjbk5o 23 | RFHn2Du2Mi/0/mVlM7pvO3ynrSoMhgDHmql9N2oxMbbdHj//D4FgAfvIDB65lo2M 24 | 95NKy1Ypz+xSHra+0OTkKDDOjQl0PcFCs8axgms9rxlMY6Tngml2KrS17nAI03zq 25 | Inx6Tm0g9QCY/6kaAm+vZU6o/bwCclNlMhht1V+J5yW32sEvdiPJ+FwYE29Jr4Yk 26 | xjHpWnxgc/rtqZCAHazzaPO73gto9k+8QqXOrloO0qaMIseqUUwltfCv17SVH54v 27 | OrjvYzNNNoIAzVKuUd1JkklQ+co9iAuocO7k7hv0TvkEwinE2fJ061J2x7aKDTE/ 28 | ZrCZUHWihUwIz6sqgf9p7A4FyevCQorhz9TGj9PajjobLfyaomOtj5a3vtPE4evG 29 | 7sH59cuEu17kTQx0/3SLG2+4W27GPDt8TnRh3eu/SO1eFwYmgwGUvGetrw5TvktX 30 | MCI= 31 | -----END CERTIFICATE----- 32 | -------------------------------------------------------------------------------- /README.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/README.htm -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | beaglebone-getting-started 2 | ========================== 3 | [![Build Status](https://travis-ci.org/jadonk/beaglebone-getting-started.svg)](https://travis-ci.org/jadonk/beaglebone-getting-started) 4 | 5 | BeagleBone Getting Started Guide 6 | 7 | Please open START.HTM in your web browser to view the guide. 8 | 9 | Please submit any improvements to https://github.com/jadonk/beaglebone-getting-started. 10 | 11 | For bone101, see https://github.com/jadonk/bone101. 12 | -------------------------------------------------------------------------------- /autorun.inf: -------------------------------------------------------------------------------- 1 | [Autorun] 2 | shellexecute=START.htm 3 | icon=static\beagle.ico 4 | label=BeagleBone Getting Started 5 | action=Open BeagleBone Getting Started Guide 6 | 7 | [DeviceInstall] 8 | DriverPath=Drivers\Windows\src\files\RNDIS 9 | DriverPath=Drivers\Windows\src\files\FTDI 10 | DriverPath=Drivers\Windows\src\files\CDCACM 11 | -------------------------------------------------------------------------------- /scripts/debian-resecure.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if ! id | grep -q root; then 4 | echo "must be run as root" 5 | exit 6 | fi 7 | 8 | echo "Reseting root password to [root]..." 9 | 10 | #it was blanked out via: 11 | #root_password=$(cat /etc/shadow | grep root | awk -F ':' '{print $2}') 12 | #sed -i -e 's:'$root_password'::g' /etc/shadow 13 | 14 | passwd <<-_EOF_ 15 | root 16 | root 17 | _EOF_ 18 | 19 | echo "ssh: resecuring, password now required..." 20 | 21 | #it was opened up via: 22 | #sed -i -e 's:PermitEmptyPasswords no:PermitEmptyPasswords yes:g' /etc/ssh/sshd_config 23 | #sed -i -e 's:UsePAM yes:UsePAM no:g' /etc/ssh/sshd_config 24 | 25 | sed -i -e 's:PermitEmptyPasswords yes:PermitEmptyPasswords no:g' /etc/ssh/sshd_config 26 | sed -i -e 's:UsePAM no:UsePAM yes:g' /etc/ssh/sshd_config 27 | /etc/init.d/ssh restart 28 | 29 | echo "Complete..." 30 | 31 | -------------------------------------------------------------------------------- /scripts/generate_img.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # 3 | # Copyright (c) 2015 Robert Nelson 4 | # 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy 6 | # of this software and associated documentation files (the "Software"), to deal 7 | # in the Software without restriction, including without limitation the rights 8 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | # copies of the Software, and to permit persons to whom the Software is 10 | # furnished to do so, subject to the following conditions: 11 | # 12 | # The above copyright notice and this permission notice shall be included in 13 | # all copies or substantial portions of the Software. 14 | # 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | # THE SOFTWARE. 22 | # 23 | 24 | DIR="$PWD" 25 | TEMPDIR=$(mktemp -d) 26 | 27 | ### 28 | imagename="beaglebone-getting-started-$(git log -1 --date=short --pretty=format:%cd)" 29 | image_size_mb="18" 30 | image_format="fat" 31 | ### 32 | 33 | check_root () { 34 | if ! [ $(id -u) = 0 ] ; then 35 | echo "$0 must be run as sudo user or root" 36 | exit 1 37 | fi 38 | } 39 | 40 | check_for_command () { 41 | if ! which "$1" > /dev/null ; then 42 | echo -n "You're missing command $1" 43 | NEEDS_COMMAND=1 44 | if [ -n "$2" ] ; then 45 | echo -n " (consider installing package $2)" 46 | fi 47 | echo 48 | fi 49 | } 50 | 51 | detect_software () { 52 | unset NEEDS_COMMAND 53 | 54 | if [ "x${image_format}" = "xfat" ] ; then 55 | check_for_command mkfs.vfat dosfstools 56 | check_for_command partprobe parted 57 | check_for_command kpartx kpartx 58 | elif [ "x${image_format}" = "xiso" ] ; then 59 | check_for_command xorriso xorriso 60 | fi 61 | 62 | if [ "${NEEDS_COMMAND}" ] ; then 63 | echo "" 64 | echo "Your system is missing some dependencies" 65 | echo "" 66 | exit 67 | fi 68 | 69 | unset test_sfdisk 70 | test_sfdisk=$(LC_ALL=C sfdisk -v 2>/dev/null | grep 2.17.2 | awk '{print $1}') 71 | if [ "x${test_sdfdisk}" = "xsfdisk" ] ; then 72 | echo "" 73 | echo "Detected known broken sfdisk:" 74 | echo "See: https://github.com/RobertCNelson/netinstall/issues/20" 75 | echo "" 76 | exit 77 | fi 78 | } 79 | 80 | drive_error_ro () { 81 | echo "-----------------------------" 82 | echo "Error: for some reason your SD card is not writable..." 83 | echo "Check: is the write protect lever set the locked position?" 84 | echo "Check: do you have another SD card reader?" 85 | echo "-----------------------------" 86 | echo "Script gave up..." 87 | 88 | exit 89 | } 90 | 91 | sfdisk_partition_layout () { 92 | sfdisk_options="--force --in-order --Linux --unit M" 93 | sfdisk_boot_startmb="1" 94 | sfdisk_boot_fstype="0xE" 95 | 96 | test_sfdisk=$(LC_ALL=C sfdisk --help | grep -m 1 -e "--in-order" || true) 97 | if [ "x${test_sfdisk}" = "x" ] ; then 98 | echo "log: sfdisk: 2.26.x or greater detected" 99 | sfdisk_options="--force" 100 | sfdisk_boot_startmb="${sfdisk_boot_startmb}M" 101 | fi 102 | 103 | LC_ALL=C sfdisk ${sfdisk_options} "${media}" <<-__EOF__ 104 | ${sfdisk_boot_startmb},,${sfdisk_boot_fstype},- 105 | __EOF__ 106 | 107 | sync 108 | } 109 | 110 | format_partition_error () { 111 | echo "LC_ALL=C ${mkfs} ${mkfs_partition} ${mkfs_label}" 112 | echo "Failure: formating partition" 113 | exit 114 | } 115 | 116 | format_partition_try2 () { 117 | echo "-----------------------------" 118 | echo "BUG: [${mkfs_partition}] was not available so trying [${mkfs}] again in 5 seconds..." 119 | partprobe ${media} 120 | sync 121 | sleep 5 122 | echo "-----------------------------" 123 | 124 | echo "Formating with: [${mkfs} ${mkfs_partition} ${mkfs_label}]" 125 | echo "-----------------------------" 126 | LC_ALL=C ${mkfs} ${mkfs_partition} ${mkfs_label} || format_partition_error 127 | sync 128 | } 129 | 130 | format_partition () { 131 | echo "Formating with: [${mkfs} ${mkfs_partition} ${mkfs_label}]" 132 | echo "-----------------------------" 133 | LC_ALL=C ${mkfs} ${mkfs_partition} ${mkfs_label} || format_partition_try2 134 | sync 135 | } 136 | 137 | format_boot_partition () { 138 | mkfs_partition="${media_prefix}${media_partition}" 139 | mkfs="mkfs.vfat -F 16" 140 | mkfs_label="-n BEAGLEBONE" 141 | format_partition 142 | } 143 | 144 | create_partitions () { 145 | media_partition=1 146 | 147 | echo "Using sfdisk to create partition layout" 148 | echo "Version: `LC_ALL=C sfdisk --version`" 149 | echo "-----------------------------" 150 | sfdisk_partition_layout 151 | 152 | echo "Partition Setup:" 153 | echo "-----------------------------" 154 | LC_ALL=C fdisk -l "${media}" 155 | echo "-----------------------------" 156 | 157 | media_loop=$(losetup -f || true) 158 | if [ ! "${media_loop}" ] ; then 159 | echo "losetup -f failed" 160 | echo "Unmount some via: [sudo losetup -a]" 161 | echo "-----------------------------" 162 | losetup -a 163 | echo "sudo kpartx -d /dev/loopX ; sudo losetup -d /dev/loopX" 164 | echo "-----------------------------" 165 | exit 166 | fi 167 | 168 | losetup ${media_loop} "${media}" 169 | kpartx -av ${media_loop} 170 | sleep 5 171 | sync 172 | test_loop=$(echo ${media_loop} | awk -F'/' '{print $3}') 173 | if [ -e /dev/mapper/${test_loop}p${media_partition} ] ; then 174 | media_prefix="/dev/mapper/${test_loop}p" 175 | else 176 | echo "ls -lh /dev/mapper/" 177 | ls -lh /dev/mapper/ 178 | echo "Error: not sure what to do (new feature)." 179 | exit 180 | fi 181 | 182 | format_boot_partition 183 | } 184 | 185 | file_copy () { 186 | echo "Copying Files" 187 | if [ -d ./Drivers ] ; then 188 | cp -rv ./Drivers ${TEMPDIR}/disk/ 189 | fi 190 | if [ -d ./static ] ; then 191 | cp -rv ./static ${TEMPDIR}/disk/ 192 | fi 193 | if [ -d ./scripts ] ; then 194 | cp -rv ./scripts ${TEMPDIR}/disk/ 195 | fi 196 | 197 | if [ -f autorun.inf ] ; then 198 | cp -v autorun.inf ${TEMPDIR}/disk/ 199 | fi 200 | if [ -f LICENSE.txt ] ; then 201 | cp -v LICENSE.txt ${TEMPDIR}/disk/ 202 | fi 203 | if [ -f README.htm ] ; then 204 | cp -v README.htm ${TEMPDIR}/disk/ 205 | fi 206 | if [ -f README.md ] ; then 207 | cp -v README.md ${TEMPDIR}/disk/ 208 | fi 209 | if [ -f START.HTM ] ; then 210 | cp -v START.HTM ${TEMPDIR}/disk/ 211 | fi 212 | echo "-----------------------------" 213 | } 214 | 215 | populate_partition () { 216 | echo "Populating Partition" 217 | echo "-----------------------------" 218 | 219 | if [ ! -d ${TEMPDIR}/disk ] ; then 220 | mkdir -p ${TEMPDIR}/disk 221 | fi 222 | 223 | mount_partition_format="vfat" 224 | partprobe ${media} 225 | if ! mount -t ${mount_partition_format} ${media_prefix}${media_partition} ${TEMPDIR}/disk; then 226 | 227 | echo "-----------------------------" 228 | echo "BUG: [${media_prefix}${media_partition}] was not available so trying to mount again in 5 seconds..." 229 | partprobe ${media} 230 | sync 231 | sleep 5 232 | echo "-----------------------------" 233 | 234 | if ! mount -t ${mount_partition_format} ${media_prefix}${media_partition} ${TEMPDIR}/disk; then 235 | echo "-----------------------------" 236 | echo "Unable to mount ${media_prefix}${media_partition} at ${TEMPDIR}/disk to complete populating Boot Partition" 237 | echo "Please retry running the script, sometimes rebooting your system helps." 238 | echo "-----------------------------" 239 | exit 240 | fi 241 | fi 242 | 243 | lsblk | grep -v sr0 244 | file_copy 245 | 246 | cd ${TEMPDIR}/disk 247 | sync 248 | cd "${DIR}"/ 249 | echo "Space Used..." 250 | df -h ${media_prefix}${media_partition} 251 | echo "-----------------------------" 252 | 253 | umount ${TEMPDIR}/disk || umount -l ${TEMPDIR}/disk || true 254 | 255 | sync 256 | kpartx -d ${media_loop} || true 257 | losetup -d ${media_loop} || true 258 | 259 | echo "Image file: ${media}" 260 | echo "-----------------------------" 261 | } 262 | 263 | detect_software 264 | if [ "x${image_format}" = "xfat" ] ; then 265 | media="${DIR}/${imagename}.img" 266 | check_root 267 | if [ -f "${media}" ] ; then 268 | rm -rf "${media}" || true 269 | fi 270 | dd if=/dev/zero of="${media}" bs=1024 count=0 seek=$((1024 * ${image_size_mb})) 271 | 272 | check_root 273 | create_partitions 274 | populate_partition 275 | elif [ "x${image_format}" = "xiso" ] ; then 276 | rm -f ${imagename}.iso 277 | xorrisofs -r -J -o ${imagename}.iso -graft-points \ 278 | App=./App \ 279 | Drivers=./Drivers \ 280 | static=./static \ 281 | scripts=./scripts \ 282 | autorun.inf \ 283 | LICENSE.txt \ 284 | README.htm \ 285 | README.md \ 286 | START.htm 287 | fi 288 | 289 | if [ -f ${imagename}.img ] ; then 290 | echo "-----------------------------" 291 | chown -R 1000:1000 ${imagename}.img 292 | echo "img: ${imagename}.img" 293 | echo "-----------------------------" 294 | xz -z -8 -v ${imagename}.img 295 | echo "img: ${imagename}.img.xz" 296 | echo "-----------------------------" 297 | 298 | fi 299 | 300 | if [ -f ${imagename}.iso ] ; then 301 | echo "-----------------------------" 302 | chown -R 1000:1000 ${imagename}.iso 303 | echo "iso: ${imagename}.iso" 304 | echo "-----------------------------" 305 | #xz -z -8 -v ${imagename}.iso 306 | echo "iso: ${imagename}.iso.xz" 307 | echo "-----------------------------" 308 | 309 | fi 310 | # 311 | -------------------------------------------------------------------------------- /scripts/get-latest-START.htm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | curl https://beagleboard.org/getting-started > START.HTM 3 | perl -pe 's#(["\x27])/([^"\x27])#$1https://beagleboard.org/$2#g' -i START.HTM 4 | perl -pe 's#(["\x27])https://beagleboard.org/static/Drivers/#$1Drivers/#g' -i START.HTM 5 | perl -pe 's#(["\x27])https://beagleboard.org/static/#$1static/#g' -i START.HTM 6 | perl -pe 's#BeagleBoard.org - getting-started#Getting started with Beagle#' -i START.HTM 7 | perl -pe 's#href="/"#href="https://beagleboard.org/"#g' -i START.HTM 8 | perl -pe 's#http://beagleboard.org/testconn.htm#static/testconn.htm#g' -i START.HTM 9 | perl -pe 's#\r\n#\n#g' -i START.HTM 10 | cp START.HTM README.htm 11 | -------------------------------------------------------------------------------- /scripts/setup-ubuntu-armhf-3.8.13-bone30.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Update /etc/network/interfaces to add virtual Ethernet port 4 | cat >>/etc/network/interfaces </etc/init/gadget-serial.conf </usr/sbin/g-multi-load.sh <<'EOF' 24 | #!/bin/bash 25 | if [ "`lsmod | grep g_multi`" != "" ]; then exit 0; fi 26 | mac_addr=/proc/device-tree/ocp/ethernet@4a100000/slave@4a100300/mac-address 27 | eeprom=/sys/bus/i2c/devices/0-0050/eeprom 28 | 29 | DEV_ADDR=$(perl -e 'print join(":",unpack("(H2)*",<>))' ${mac_addr}) 30 | VERSION=$(perl -e '@x=unpack("A12A4",<>); print $x[1]' ${eeprom}) 31 | SERIAL_NUMBER=$(perl -e '@x=unpack("A16A12",<>); print $x[1]' ${eeprom}) 32 | ISBLACK=$(perl -e '@x=unpack("A20A4",<>); print $x[1]' ${eeprom}) 33 | 34 | BLACK="" 35 | if [ "${ISBLACK}" = "BBBK" ] ; then 36 | BLACK="Black" 37 | fi 38 | if [ "${ISBLACK}" = "BNLT" ] ; then 39 | BLACK="Black" 40 | fi 41 | 42 | modprobe g_multi file=/dev/mmcblk0p1 cdrom=0 stall=0 removable=1 nofua=1 iSerialNumber=${SERIAL_NUMBER} iManufacturer=Circuitco iProduct=BeagleBone${BLACK} host_addr=${DEV_ADDR} 43 | 44 | # Enable the network interface 45 | sleep 1 46 | ifup usb0 47 | EOF 48 | chmod +x /usr/sbin/g-multi-load.sh 49 | 50 | # Add script to rc.local 51 | perl -i -pe 's!^exit 0!/usr/sbin/g-multi-load.sh\nexit 0!' /etc/rc.local 52 | 53 | # Install DHCP server 54 | sudo apt-get -y update 55 | sudo apt-get -y install isc-dhcp-server 56 | 57 | # Configure DHCP server 58 | cat >/etc/ltsp/dhcp.conf < 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /static/beagle-ui.js: -------------------------------------------------------------------------------- 1 | var name = "#floatMenu"; 2 | var menuYloc = null; 3 | 4 | $(document).ready(function(){ 5 | menuYloc = parseInt($(name).css("top").substring(0,$(name).css("top").indexOf("px"))) 6 | $(window).scroll(function () { 7 | var offset = menuYloc+$(document).scrollTop()+"px"; 8 | $(name).animate({top:offset},{duration:500,queue:false}); 9 | }); 10 | }); 11 | -------------------------------------------------------------------------------- /static/beagle.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/beagle.ico -------------------------------------------------------------------------------- /static/beagleboard.js: -------------------------------------------------------------------------------- 1 | // Do nothing 2 | -------------------------------------------------------------------------------- /static/bonescript.js: -------------------------------------------------------------------------------- 1 | function require(file) { 2 | throw 'Please perform setTargetAddress on a valid target'; 3 | } 4 | 5 | function setTargetAddress(address, handlers) { 6 | var url = address; 7 | url = url.replace(/^(http:\/\/|https:\/\/)*/, 'http://'); 8 | url = url.replace(/(\/)*$/, '/bonescript.js'); 9 | loadScript(url, addHandlers); 10 | function loadScript(url, onload) { 11 | var head = document.getElementsByTagName('head')[0]; 12 | var script = document.createElement('script'); 13 | script.type = 'text/javascript'; 14 | script.src = url; 15 | script.charset = 'UTF-8'; 16 | var scriptObj = head.appendChild(script); 17 | scriptObj.onload = onload; 18 | } 19 | function addHandlers() { 20 | if(typeof handlers == 'function') { 21 | handlers(); 22 | return; 23 | } 24 | if(typeof _bonescript != 'undefined') { 25 | _bonescript.address = address; 26 | if(handlers.initialized) _bonescript.on.initialized = handlers.initialized; 27 | if(handlers.connect) _bonescript.on.connect = handlers.connect; 28 | if(handlers.connecting) _bonescript.on.connecting = handlers.connecting; 29 | if(handlers.disconnect) _bonescript.on.disconnect = handlers.disconnect; 30 | if(handlers.connect_failed) _bonescript.on.connect_failed = handlers.connect_failed; 31 | if(handlers.reconnect_failed) _bonescript.on.reconnect_failed = handlers.reconnect_failed; 32 | if(handlers.reconnect) _bonescript.on.reconnect = handlers.reconnect; 33 | if(handlers.reconnecting) _bonescript.on.reconnecting = handlers.reconnecting; 34 | } 35 | if(typeof handlers.callback == 'function') handlers.callback(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /static/ccs-jtag-simple.htm: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | BeagleBone Getting Started Guide 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 |
15 |
16 |
17 | 18 | 19 | 21 | beagleboard url 22 | 23 | beaglebone in hand 25 | 26 |

Getting started with JTAG and CCS

27 |

JTAG is a powerful tool to debug low level software. Your beaglebone is equipped with a built-in JTAG emulator providing connectivity over the same USB cable that powers the board, eliminating the need to buy expensive JTAG debugging hardware.

Code Composer Studio is a popular debugger based on eclipse that provides you with a complete IDE experience. 28 | 29 | These are simple instructions to get Code Composer Studio v5.1 up and running with your beaglebone.

30 |
    31 |
  • Once you have downloaded and installed CCS, copy bbone-target-config.ccxml to the "Target Configurations" folder of your CCS install.

    32 |
    33 |
  • 34 |
  • Open the Target Configurations window in CCS.

    35 |
    36 |
  • 37 |
  • Click on the Refresh button on the top right of the Target Configuration window.

    38 |
    39 |
  • 40 |
  • Right click on the bbone-target-config.ccxml file and click on "Launch Selected Configuration"

    41 |
    42 |
  • 43 |
  • Now that you're in the debug view, connect to the CortexA8 core

    44 |
    45 |
  • 46 |
  • You should see CCS halt the processor, and the result should look like this.

    47 |
    48 |
  • 49 |
    50 | For more information, please read the Code Composer Studio wiki. Happy Debugging! 51 |
52 | 59 | 60 |
61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /static/common.css: -------------------------------------------------------------------------------- 1 | /* CSS Document */ 2 | body { 3 | text-align: center; 4 | margin: 10px 0 0 0; 5 | padding: 0; 6 | background:#7886D1; 7 | color: #333; 8 | background: #fcf7ed; url(); 9 | font-family:Arial, Helvetica, Verdana, sans-serif; color:#525252; font-size: 71%; 10 | } 11 | a:link {color:#de7224; text-decoration:none;} 12 | a:visited {color:#de7224; text-decoration:none;} 13 | a:hover {text-decoration:underline;} 14 | ul.default {list-style-type:none; margin:0; padding:0 0 0 1.3em;font-size:1.1em; line-height:1.1em; max-width:550px;} 15 | ul.default li {background: url(images/beagle-bullet-list-dot.gif) no-repeat 0 .7em;padding:.3em 0 .3em 1em;} 16 | ul.arrow {list-style-type:none; margin:0; padding:0 0 0 1.3em; line-height:1em;} 17 | ul.arrow li {background: url(images/beagle-bullet-list-arrow.gif) no-repeat 0 .5em;padding:.3em 0 .3em 1em;} 18 | ul.subitem {list-style-type:none; margin:0; padding:0 0 0 1.3em; font-size:1em; line-height:1em;} 19 | ul.subitem li {background: url(images/beagle-bullet-list-dot.gif) no-repeat 0 .7em;padding:.5em 0 .3em 1em;} 20 | h1 {font-size:2.0em;font-family: "Arial", Verdana, Helvetica, sans-serif; color:#b4a279;} 21 | #bg {visibility:hidden; height:1px; font-size:0.1em; background:#5B5F63; margin:0;} 22 | h1 h2 {margin:5px 0 5px 0;} 23 | h1 p {margin:2px 0 5px 0;} 24 | h2 {font-size:1.5em; font-family: Arial, Verdana, Helvetica, sans-serif; font-weight:normal; color:#b4a279; margin:10px 0 5px 0;} 25 | h2 a:link, h2 a:visited, .portal h3 a:link, .portal h3 a:visited {text-decoration:none; padding-right:15px; color:#de7224;} 26 | h2 a:hover, .portal h3 a:hover {text-decoration:underline;} 27 | h3, h4 {font-size:1.2em;font-family: "Arial", Verdana, Helvetica, sans-serif; color:#b4a279; margin:20px 0 5px 0; font-weight:normal; } 28 | #news h3 a:link, #news h3 a:visited, #news h3 a:hover {font-family: "Arial", Verdana, Helvetica, sans-serif;background: url(none);font-size:.9em; font-weight:normal;} 29 | #news div.pipesTitle {font-weight:normal;} 30 | #news div.pipesTitle a:hover {font-weight:normal; text-decoration:underline;} 31 | h5, h6, p {font-size:1.1em;line-height:1.3em; } 32 | p.action a:link, p.action a:visited {text-decoration:none; padding-right:15px; 33 | background:url(images/beagle-alink-action-arrow.gif) right no-repeat;} 34 | p.action a:hover {background: url(images/beagle-alink-action-arrow.gif) right no-repeat; padding-right:15px;text-decoration:underline;} 35 | p.breadcrumb {margin-top:0; padding-top:0; font-size:1em;} 36 | p.breadcrumb a:link, p.breadcrumb a:visited, p.breadcrumb a:hover {color:#f56203; text-decoration:none;} 37 | p.breadcrumb a:hover {text-decoration:underline;} 38 | td { 39 | font-size:.9em; 40 | padding:10px; 41 | border:0px; 42 | background-color:#f1f1f1; 43 | color:#525252;} 44 | th {padding:10px; 45 | border:none; 46 | color:#fff; 47 | background-color:#de7224;} 48 | 49 | table#projects {width:875px; padding-top:0px; padding-left:0px; width: 897px;} 50 | table.tblstandard {width:875px; padding-top:50px; padding-left:20px; } 51 | table h3, table h4 {margin:0;} 52 | table h4 {font-size:1em;} 53 | dt span, h2 span {text-align:right; float:right; color:#3F8BFE;} 54 | dt span a:link, h2 span a:link {color:#758DFF;} 55 | h2 p {margin:2px 0 5px 0;} 56 | hr {border:1px solid #C5CBD4;} 57 | input, select, textarea {font:1em Verdana, Helvetica, sans-serif;} 58 | div#wrapper {text-align:left; background:#fff url(none) repeat-y; width:948px; margin: 0 auto;} 59 | div#header {width:948px; height:80px; margin:0; padding:0;} 60 | div#logo {width:201px; margin:10px 0 0 10px; float:left;} 61 | html>body div#logo {margin-left:20px;} 62 | /* div#nav{ 63 | width: auto; 64 | margin:15px 0 0 460px; 65 | padding:0; 66 | border: 0; 67 | font-family: "Arial", Verdana, Helvetica, sans-serif; 68 | font-size:1.4em; 69 | font-weight:bold; 70 | height:20px; 71 | } 72 | html>body div#nav {margin-top:20px;} 73 | div#nav2 { 74 | width: auto; 75 | margin:0 0 0 450px; 76 | font-family: "Arial", Verdana, Helvetica, sans-serif; 77 | font-weight:normal; 78 | font-size:.9em; 79 | height:20px; 80 | } 81 | div#nav ul { 82 | margin:0; 83 | padding: 0; 84 | font-size:1.2em; 85 | } 86 | div#nav2 ul{ 87 | margin:0; 88 | padding: 0; 89 | font-size:1.2em; 90 | } 91 | div#nav li, div#nav2 li{ 92 | margin:0; 93 | padding:0 0 0 20px; 94 | list-style: none; 95 | float:left; 96 | display: block; 97 | background:url(none); 98 | } 99 | div#nav2 li{padding:12px 2px 0 2px;} 100 | div#nav2 li.google {padding:9px 0 0 0;} 101 | div#nav2 li.google form {padding:0; margin:0;} 102 | div#nav li a:link, div#nav li a:visited {text-decoration:none; padding:0 15px 0 4px; margin:0; color:#333; 103 | background:url(images/beagle-lrg-action-arrow.gif) right no-repeat;} 104 | html>body div#nav li a:link, html>body div#nav div#nav li a:visited {padding:6px 15px 6px 4px; margin:0;} 105 | div#nav li a:hover {background: url(images/beagle-lrg-action-arrow.gif) right no-repeat; text-decoration:underline;} 106 | */ 107 | div.clear {clear:both; margin:10px 0;} 108 | div#promo {clear:both; white-space:nowrap; padding-bottom:10px;} 109 | 110 | div#contentarea {margin:0; padding:0 0 30px 0; background-color:#FFF;} 111 | div#contentarea2 {margin:0; padding:0 0 30px 0; background:#FFF top left repeat-x;} 112 | 113 | div#contentbuffer {padding:0; margin:25px 25px; zoom: 1;} 114 | .line { 115 | float:left; 116 | width:950px; 117 | display:block; 118 | position:relative; 119 | } 120 | .item { 121 | position:relative; 122 | float:left; 123 | left:948px; 124 | } 125 | div#col1{margin-left:-928px;width:242px;} 126 | div#col2{margin-left:-664px;width:289px;} 127 | div#col3{margin-left:-354px;width:336px;} 128 | #innerwrapper { zoom: 1; } 129 | 130 | div#register {padding:10px; background-color:#ecebeb; border:2px solid #f56203; margin-top:20px;} 131 | /*comment out footer 132 | div#footer {margin:0 auto; background-color:#fff;padding:10px 0; width:948px; text-align:left; clear:left; border-top:2px solid #dda01b;} 133 | div#footer p {margin:0 20px 0 121px;font-size:1em; max-width:10000px;} 134 | #footer a:link, #footer a:visited, #nav2 a:link, #nav2 a:visited, #nav2b a:link, #nav2b a:visited {color:#929292;text-decoration:none;} 135 | #footer a:hover, #nav2 a:hover, #nav2b a:hover {text-decoration:underline;} 136 | div#cc {width:100px; padding:0 0 0 20px; float:left;} 137 | 138 | input:focus, select:focus, textarea:focus, input.iefocus, textarea.iefocusarea {background:#CED2EB;} 139 | ul.nobullet {list-style:none;} 140 | .workcaption {margin:0 5px; font-size:1em;} 141 | */ 142 | /*UL List - PDF Icon*/ 143 | ul.pdf, ul.pdf ul{list-style-type:none; margin:0; padding:0; line-height:1.3em;} 144 | ul.pdf li {background: url(http://focus.ti.com/graphics/shared/css/ul-pdf.gif) no-repeat 0 .4em;padding:.3em 0 .6em 1.5em;} 145 | html>body ul.pdf li {background-position:0 .4em;} 146 | 147 | /*CSS Buttons*/ 148 | .btn1{ 149 | cursor:hand; 150 | color:#fff; 151 | font-weight:bold; 152 | font-size:1em; 153 | font-family:Verdana, Arial, Helvetica, sans-serif; 154 | border:1px solid; 155 | overflow:visible; 156 | padding:1px 5px; 157 | width:auto; 158 | background-color:#de7224; 159 | } 160 | .btn1, input.btn1:focus {background:#de7224 url(images/beagle-btn-bg.jpg) top left repeat; border-color:#de7224;} 161 | table.projects {width:800px; border-collapse:collapse; border-top:1px solid #6c6c6c; border-left:1px solid #6c6c6c;} 162 | 163 | 164 | .tblstandard th, .tblstandard td {padding:5px; border-right:1px solid #6c6c6c; border-bottom:1px solid #6c6c6c;} 165 | .tbl1 {background:#ef1c24; font-weight:bold; color:#FFF; margin:5px; vertical-align:bottom;} 166 | .tbl1 a:link, .tbl2 a:link { 167 | color:#fff; text-decoration:underline; 168 | } 169 | .tbl1 a:visited, .tbl2 a:visited { 170 | color:#fff; 171 | } 172 | .tbl1 a:hover, .tbl2 a:hover { 173 | color: #fff; 174 | text-decoration:underline; 175 | } 176 | .tbl2, .tbl2center {background:#929497; font-weight:bold; color:#fff; margin:5px; vertical-align:bottom;} 177 | .tbl3{background:#a7a9ac; color:#fff; font-weight:bold; margin:5px; vertical-align:top;} 178 | .tbl3 a:link, .tbl3 a:visited { 179 | color:#fff; 180 | text-decoration:underline; 181 | } 182 | .tbl3 a:hover { 183 | color: #fff; 184 | text-decoration:underline; 185 | } 186 | .tbl4 {background:#dcdcde; font-weight:bold; margin:5px; vertical-align:top;} 187 | .tbl4 a:link, .tbl4 a:visited { 188 | color:#000; 189 | text-decoration:underline; 190 | } 191 | .tbl4 a:hover { 192 | color: #000; 193 | text-decoration:underline; 194 | } 195 | .tbl5 {background:#fff; margin:5px; vertical-align:top;} 196 | .tbl6 {background:#ebebeb; margin:5px; vertical-align:top;} 197 | 198 | table.cape-table { 199 | table-layout:fixed; 200 | width: 900px; 201 | } 202 | 203 | .cape-table-col1 { 204 | width: 121px; 205 | } 206 | 207 | .cape-table-col2 { 208 | width: 344px; 209 | } 210 | 211 | .cape-table-col3 { 212 | width: 412px; 213 | } 214 | -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/favicon.ico -------------------------------------------------------------------------------- /static/images/88x31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/88x31.png -------------------------------------------------------------------------------- /static/images/Black-on-USB.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/Black-on-USB.jpg -------------------------------------------------------------------------------- /static/images/BlackUSR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/BlackUSR.png -------------------------------------------------------------------------------- /static/images/bad-to-the-bone.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/bad-to-the-bone.jpg -------------------------------------------------------------------------------- /static/images/beagle-btn-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/beagle-btn-bg.jpg -------------------------------------------------------------------------------- /static/images/beagle-bullet-list-arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/beagle-bullet-list-arrow.gif -------------------------------------------------------------------------------- /static/images/beagle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/beagle.png -------------------------------------------------------------------------------- /static/images/beagle_logo_326x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/beagle_logo_326x60.png -------------------------------------------------------------------------------- /static/images/beagle_logo_hdr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/beagle_logo_hdr.gif -------------------------------------------------------------------------------- /static/images/beaglebone-cookbook.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/beaglebone-cookbook.jpg -------------------------------------------------------------------------------- /static/images/bone-usr3-led.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/bone-usr3-led.png -------------------------------------------------------------------------------- /static/images/bone101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/bone101.png -------------------------------------------------------------------------------- /static/images/btn_step1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/btn_step1.gif -------------------------------------------------------------------------------- /static/images/btn_step2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/btn_step2.gif -------------------------------------------------------------------------------- /static/images/btn_step3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/btn_step3.gif -------------------------------------------------------------------------------- /static/images/ccs-jtag/screen1-copy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/ccs-jtag/screen1-copy.jpg -------------------------------------------------------------------------------- /static/images/ccs-jtag/screen2-viewtargetconf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/ccs-jtag/screen2-viewtargetconf.jpg -------------------------------------------------------------------------------- /static/images/ccs-jtag/screen3-refresh-topright.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/ccs-jtag/screen3-refresh-topright.jpg -------------------------------------------------------------------------------- /static/images/ccs-jtag/screen4-launch.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/ccs-jtag/screen4-launch.jpg -------------------------------------------------------------------------------- /static/images/ccs-jtag/screen5-connect.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/ccs-jtag/screen5-connect.jpg -------------------------------------------------------------------------------- /static/images/ccs-jtag/screen6-startaddr.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/ccs-jtag/screen6-startaddr.jpg -------------------------------------------------------------------------------- /static/images/download-etcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/download-etcher.png -------------------------------------------------------------------------------- /static/images/download-latestimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/download-latestimage.png -------------------------------------------------------------------------------- /static/images/embedded-linux-primer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/embedded-linux-primer.jpg -------------------------------------------------------------------------------- /static/images/exploring-beaglebone.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/exploring-beaglebone.jpg -------------------------------------------------------------------------------- /static/images/footer-img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/footer-img.jpg -------------------------------------------------------------------------------- /static/images/icon_facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/icon_facebook.png -------------------------------------------------------------------------------- /static/images/icon_google+.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/icon_google+.png -------------------------------------------------------------------------------- /static/images/icon_linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/icon_linkedin.png -------------------------------------------------------------------------------- /static/images/icon_offsite.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/icon_offsite.gif -------------------------------------------------------------------------------- /static/images/icon_twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/icon_twitter.png -------------------------------------------------------------------------------- /static/images/in-hand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/in-hand.png -------------------------------------------------------------------------------- /static/images/install-etcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/install-etcher.png -------------------------------------------------------------------------------- /static/images/small_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/small_check.png -------------------------------------------------------------------------------- /static/images/url.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/url.png -------------------------------------------------------------------------------- /static/images/write-latestimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/write-latestimage.png -------------------------------------------------------------------------------- /static/images/youTube-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagleboard/beaglebone-getting-started/ccddbaa4f225b038cee2fde0e58c31c8e61a06aa/static/images/youTube-icon.png -------------------------------------------------------------------------------- /static/jquery-ui.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.8.21 - 2012-06-05 2 | * https://github.com/jquery/jquery-ui 3 | * Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.tabs.css, jquery.ui.theme.css 4 | * Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ 5 | 6 | /* Layout helpers 7 | ----------------------------------*/ 8 | .ui-helper-hidden { display: none; } 9 | .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } 10 | .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } 11 | .ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; } 12 | .ui-helper-clearfix:after { clear: both; } 13 | .ui-helper-clearfix { zoom: 1; } 14 | .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } 15 | 16 | 17 | /* Interaction Cues 18 | ----------------------------------*/ 19 | .ui-state-disabled { cursor: default !important; } 20 | 21 | 22 | /* Icons 23 | ----------------------------------*/ 24 | 25 | /* states and images */ 26 | .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } 27 | 28 | 29 | /* Misc visuals 30 | ----------------------------------*/ 31 | 32 | /* Overlays */ 33 | .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } 34 | 35 | /* IE/Win - Fix animation bug - #4615 */ 36 | .ui-accordion { width: 100%; } 37 | .ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } 38 | .ui-accordion .ui-accordion-li-fix { display: inline; } 39 | .ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } 40 | .ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } 41 | .ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } 42 | .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } 43 | .ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } 44 | .ui-accordion .ui-accordion-content-active { display: block; } 45 | 46 | .ui-autocomplete { position: absolute; cursor: default; } 47 | 48 | /* workarounds */ 49 | * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ 50 | 51 | /* 52 | * jQuery UI Menu 1.8.21 53 | * 54 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) 55 | * Dual licensed under the MIT or GPL Version 2 licenses. 56 | * http://jquery.org/license 57 | * 58 | * http://docs.jquery.com/UI/Menu#theming 59 | */ 60 | .ui-menu { 61 | list-style:none; 62 | padding: 2px; 63 | margin: 0; 64 | display:block; 65 | float: left; 66 | } 67 | .ui-menu .ui-menu { 68 | margin-top: -3px; 69 | } 70 | .ui-menu .ui-menu-item { 71 | margin:0; 72 | padding: 0; 73 | zoom: 1; 74 | float: left; 75 | clear: left; 76 | width: 100%; 77 | } 78 | .ui-menu .ui-menu-item a { 79 | text-decoration:none; 80 | display:block; 81 | padding:.2em .4em; 82 | line-height:1.5; 83 | zoom:1; 84 | } 85 | .ui-menu .ui-menu-item a.ui-state-hover, 86 | .ui-menu .ui-menu-item a.ui-state-active { 87 | font-weight: normal; 88 | margin: -1px; 89 | } 90 | 91 | .ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ 92 | .ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ 93 | button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ 94 | .ui-button-icons-only { width: 3.4em; } 95 | button.ui-button-icons-only { width: 3.7em; } 96 | 97 | /*button text element */ 98 | .ui-button .ui-button-text { display: block; line-height: 1.4; } 99 | .ui-button-text-only .ui-button-text { padding: .4em 1em; } 100 | .ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } 101 | .ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } 102 | .ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } 103 | .ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } 104 | /* no icon support for input elements, provide padding by default */ 105 | input.ui-button { padding: .4em 1em; } 106 | 107 | /*button icon element(s) */ 108 | .ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } 109 | .ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } 110 | .ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } 111 | .ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } 112 | .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } 113 | 114 | /*button sets*/ 115 | .ui-buttonset { margin-right: 7px; } 116 | .ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } 117 | 118 | /* workarounds */ 119 | button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ 120 | 121 | .ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } 122 | .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } 123 | .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } 124 | .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } 125 | .ui-datepicker .ui-datepicker-prev { left:2px; } 126 | .ui-datepicker .ui-datepicker-next { right:2px; } 127 | .ui-datepicker .ui-datepicker-prev-hover { left:1px; } 128 | .ui-datepicker .ui-datepicker-next-hover { right:1px; } 129 | .ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } 130 | .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } 131 | .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } 132 | .ui-datepicker select.ui-datepicker-month-year {width: 100%;} 133 | .ui-datepicker select.ui-datepicker-month, 134 | .ui-datepicker select.ui-datepicker-year { width: 49%;} 135 | .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } 136 | .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } 137 | .ui-datepicker td { border: 0; padding: 1px; } 138 | .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } 139 | .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } 140 | .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } 141 | .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } 142 | 143 | /* with multiple calendars */ 144 | .ui-datepicker.ui-datepicker-multi { width:auto; } 145 | .ui-datepicker-multi .ui-datepicker-group { float:left; } 146 | .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } 147 | .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } 148 | .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } 149 | .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } 150 | .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } 151 | .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } 152 | .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } 153 | .ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } 154 | 155 | /* RTL support */ 156 | .ui-datepicker-rtl { direction: rtl; } 157 | .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } 158 | .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } 159 | .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } 160 | .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } 161 | .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } 162 | .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } 163 | .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } 164 | .ui-datepicker-rtl .ui-datepicker-group { float:right; } 165 | .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } 166 | .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } 167 | 168 | /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ 169 | .ui-datepicker-cover { 170 | display: none; /*sorry for IE5*/ 171 | display/**/: block; /*sorry for IE5*/ 172 | position: absolute; /*must have*/ 173 | z-index: -1; /*must have*/ 174 | filter: mask(); /*must have*/ 175 | top: -4px; /*must have*/ 176 | left: -4px; /*must have*/ 177 | width: 200px; /*must have*/ 178 | height: 200px; /*must have*/ 179 | } 180 | .ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } 181 | .ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } 182 | .ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } 183 | .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } 184 | .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } 185 | .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } 186 | .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } 187 | .ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } 188 | .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } 189 | .ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } 190 | .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } 191 | .ui-draggable .ui-dialog-titlebar { cursor: move; } 192 | 193 | .ui-progressbar { height:2em; text-align: left; overflow: hidden; } 194 | .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } 195 | .ui-resizable { position: relative;} 196 | .ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; } 197 | .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } 198 | .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } 199 | .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } 200 | .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } 201 | .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } 202 | .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } 203 | .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } 204 | .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } 205 | .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} 206 | .ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } 207 | 208 | .ui-slider { position: relative; text-align: left; } 209 | .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } 210 | .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } 211 | 212 | .ui-slider-horizontal { height: .8em; } 213 | .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } 214 | .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } 215 | .ui-slider-horizontal .ui-slider-range-min { left: 0; } 216 | .ui-slider-horizontal .ui-slider-range-max { right: 0; } 217 | 218 | .ui-slider-vertical { width: .8em; height: 100px; } 219 | .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } 220 | .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } 221 | .ui-slider-vertical .ui-slider-range-min { bottom: 0; } 222 | .ui-slider-vertical .ui-slider-range-max { top: 0; } 223 | .ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ 224 | .ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } 225 | .ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } 226 | .ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } 227 | .ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } 228 | .ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } 229 | .ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ 230 | .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } 231 | .ui-tabs .ui-tabs-hide { display: none !important; } 232 | 233 | /* Component containers 234 | ----------------------------------*/ 235 | .ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } 236 | .ui-widget .ui-widget { font-size: 1em; } 237 | .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } 238 | .ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } 239 | .ui-widget-content a { color: #222222/*{fcContent}*/; } 240 | .ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } 241 | .ui-widget-header a { color: #222222/*{fcHeader}*/; } 242 | 243 | /* Interaction states 244 | ----------------------------------*/ 245 | .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } 246 | .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } 247 | .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } 248 | .ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } 249 | .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } 250 | .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } 251 | .ui-widget :active { outline: none; } 252 | 253 | /* Interaction Cues 254 | ----------------------------------*/ 255 | .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; } 256 | .ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; } 257 | .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; } 258 | .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; } 259 | .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; } 260 | .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } 261 | .ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } 262 | .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } 263 | 264 | /* Icons 265 | ----------------------------------*/ 266 | 267 | /* states and images */ 268 | .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } 269 | .ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } 270 | .ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; } 271 | .ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; } 272 | .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; } 273 | .ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; } 274 | .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; } 275 | .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; } 276 | 277 | /* positioning */ 278 | .ui-icon-carat-1-n { background-position: 0 0; } 279 | .ui-icon-carat-1-ne { background-position: -16px 0; } 280 | .ui-icon-carat-1-e { background-position: -32px 0; } 281 | .ui-icon-carat-1-se { background-position: -48px 0; } 282 | .ui-icon-carat-1-s { background-position: -64px 0; } 283 | .ui-icon-carat-1-sw { background-position: -80px 0; } 284 | .ui-icon-carat-1-w { background-position: -96px 0; } 285 | .ui-icon-carat-1-nw { background-position: -112px 0; } 286 | .ui-icon-carat-2-n-s { background-position: -128px 0; } 287 | .ui-icon-carat-2-e-w { background-position: -144px 0; } 288 | .ui-icon-triangle-1-n { background-position: 0 -16px; } 289 | .ui-icon-triangle-1-ne { background-position: -16px -16px; } 290 | .ui-icon-triangle-1-e { background-position: -32px -16px; } 291 | .ui-icon-triangle-1-se { background-position: -48px -16px; } 292 | .ui-icon-triangle-1-s { background-position: -64px -16px; } 293 | .ui-icon-triangle-1-sw { background-position: -80px -16px; } 294 | .ui-icon-triangle-1-w { background-position: -96px -16px; } 295 | .ui-icon-triangle-1-nw { background-position: -112px -16px; } 296 | .ui-icon-triangle-2-n-s { background-position: -128px -16px; } 297 | .ui-icon-triangle-2-e-w { background-position: -144px -16px; } 298 | .ui-icon-arrow-1-n { background-position: 0 -32px; } 299 | .ui-icon-arrow-1-ne { background-position: -16px -32px; } 300 | .ui-icon-arrow-1-e { background-position: -32px -32px; } 301 | .ui-icon-arrow-1-se { background-position: -48px -32px; } 302 | .ui-icon-arrow-1-s { background-position: -64px -32px; } 303 | .ui-icon-arrow-1-sw { background-position: -80px -32px; } 304 | .ui-icon-arrow-1-w { background-position: -96px -32px; } 305 | .ui-icon-arrow-1-nw { background-position: -112px -32px; } 306 | .ui-icon-arrow-2-n-s { background-position: -128px -32px; } 307 | .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } 308 | .ui-icon-arrow-2-e-w { background-position: -160px -32px; } 309 | .ui-icon-arrow-2-se-nw { background-position: -176px -32px; } 310 | .ui-icon-arrowstop-1-n { background-position: -192px -32px; } 311 | .ui-icon-arrowstop-1-e { background-position: -208px -32px; } 312 | .ui-icon-arrowstop-1-s { background-position: -224px -32px; } 313 | .ui-icon-arrowstop-1-w { background-position: -240px -32px; } 314 | .ui-icon-arrowthick-1-n { background-position: 0 -48px; } 315 | .ui-icon-arrowthick-1-ne { background-position: -16px -48px; } 316 | .ui-icon-arrowthick-1-e { background-position: -32px -48px; } 317 | .ui-icon-arrowthick-1-se { background-position: -48px -48px; } 318 | .ui-icon-arrowthick-1-s { background-position: -64px -48px; } 319 | .ui-icon-arrowthick-1-sw { background-position: -80px -48px; } 320 | .ui-icon-arrowthick-1-w { background-position: -96px -48px; } 321 | .ui-icon-arrowthick-1-nw { background-position: -112px -48px; } 322 | .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } 323 | .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } 324 | .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } 325 | .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } 326 | .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } 327 | .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } 328 | .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } 329 | .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } 330 | .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } 331 | .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } 332 | .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } 333 | .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } 334 | .ui-icon-arrowreturn-1-w { background-position: -64px -64px; } 335 | .ui-icon-arrowreturn-1-n { background-position: -80px -64px; } 336 | .ui-icon-arrowreturn-1-e { background-position: -96px -64px; } 337 | .ui-icon-arrowreturn-1-s { background-position: -112px -64px; } 338 | .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } 339 | .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } 340 | .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } 341 | .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } 342 | .ui-icon-arrow-4 { background-position: 0 -80px; } 343 | .ui-icon-arrow-4-diag { background-position: -16px -80px; } 344 | .ui-icon-extlink { background-position: -32px -80px; } 345 | .ui-icon-newwin { background-position: -48px -80px; } 346 | .ui-icon-refresh { background-position: -64px -80px; } 347 | .ui-icon-shuffle { background-position: -80px -80px; } 348 | .ui-icon-transfer-e-w { background-position: -96px -80px; } 349 | .ui-icon-transferthick-e-w { background-position: -112px -80px; } 350 | .ui-icon-folder-collapsed { background-position: 0 -96px; } 351 | .ui-icon-folder-open { background-position: -16px -96px; } 352 | .ui-icon-document { background-position: -32px -96px; } 353 | .ui-icon-document-b { background-position: -48px -96px; } 354 | .ui-icon-note { background-position: -64px -96px; } 355 | .ui-icon-mail-closed { background-position: -80px -96px; } 356 | .ui-icon-mail-open { background-position: -96px -96px; } 357 | .ui-icon-suitcase { background-position: -112px -96px; } 358 | .ui-icon-comment { background-position: -128px -96px; } 359 | .ui-icon-person { background-position: -144px -96px; } 360 | .ui-icon-print { background-position: -160px -96px; } 361 | .ui-icon-trash { background-position: -176px -96px; } 362 | .ui-icon-locked { background-position: -192px -96px; } 363 | .ui-icon-unlocked { background-position: -208px -96px; } 364 | .ui-icon-bookmark { background-position: -224px -96px; } 365 | .ui-icon-tag { background-position: -240px -96px; } 366 | .ui-icon-home { background-position: 0 -112px; } 367 | .ui-icon-flag { background-position: -16px -112px; } 368 | .ui-icon-calendar { background-position: -32px -112px; } 369 | .ui-icon-cart { background-position: -48px -112px; } 370 | .ui-icon-pencil { background-position: -64px -112px; } 371 | .ui-icon-clock { background-position: -80px -112px; } 372 | .ui-icon-disk { background-position: -96px -112px; } 373 | .ui-icon-calculator { background-position: -112px -112px; } 374 | .ui-icon-zoomin { background-position: -128px -112px; } 375 | .ui-icon-zoomout { background-position: -144px -112px; } 376 | .ui-icon-search { background-position: -160px -112px; } 377 | .ui-icon-wrench { background-position: -176px -112px; } 378 | .ui-icon-gear { background-position: -192px -112px; } 379 | .ui-icon-heart { background-position: -208px -112px; } 380 | .ui-icon-star { background-position: -224px -112px; } 381 | .ui-icon-link { background-position: -240px -112px; } 382 | .ui-icon-cancel { background-position: 0 -128px; } 383 | .ui-icon-plus { background-position: -16px -128px; } 384 | .ui-icon-plusthick { background-position: -32px -128px; } 385 | .ui-icon-minus { background-position: -48px -128px; } 386 | .ui-icon-minusthick { background-position: -64px -128px; } 387 | .ui-icon-close { background-position: -80px -128px; } 388 | .ui-icon-closethick { background-position: -96px -128px; } 389 | .ui-icon-key { background-position: -112px -128px; } 390 | .ui-icon-lightbulb { background-position: -128px -128px; } 391 | .ui-icon-scissors { background-position: -144px -128px; } 392 | .ui-icon-clipboard { background-position: -160px -128px; } 393 | .ui-icon-copy { background-position: -176px -128px; } 394 | .ui-icon-contact { background-position: -192px -128px; } 395 | .ui-icon-image { background-position: -208px -128px; } 396 | .ui-icon-video { background-position: -224px -128px; } 397 | .ui-icon-script { background-position: -240px -128px; } 398 | .ui-icon-alert { background-position: 0 -144px; } 399 | .ui-icon-info { background-position: -16px -144px; } 400 | .ui-icon-notice { background-position: -32px -144px; } 401 | .ui-icon-help { background-position: -48px -144px; } 402 | .ui-icon-check { background-position: -64px -144px; } 403 | .ui-icon-bullet { background-position: -80px -144px; } 404 | .ui-icon-radio-off { background-position: -96px -144px; } 405 | .ui-icon-radio-on { background-position: -112px -144px; } 406 | .ui-icon-pin-w { background-position: -128px -144px; } 407 | .ui-icon-pin-s { background-position: -144px -144px; } 408 | .ui-icon-play { background-position: 0 -160px; } 409 | .ui-icon-pause { background-position: -16px -160px; } 410 | .ui-icon-seek-next { background-position: -32px -160px; } 411 | .ui-icon-seek-prev { background-position: -48px -160px; } 412 | .ui-icon-seek-end { background-position: -64px -160px; } 413 | .ui-icon-seek-start { background-position: -80px -160px; } 414 | /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ 415 | .ui-icon-seek-first { background-position: -80px -160px; } 416 | .ui-icon-stop { background-position: -96px -160px; } 417 | .ui-icon-eject { background-position: -112px -160px; } 418 | .ui-icon-volume-off { background-position: -128px -160px; } 419 | .ui-icon-volume-on { background-position: -144px -160px; } 420 | .ui-icon-power { background-position: 0 -176px; } 421 | .ui-icon-signal-diag { background-position: -16px -176px; } 422 | .ui-icon-signal { background-position: -32px -176px; } 423 | .ui-icon-battery-0 { background-position: -48px -176px; } 424 | .ui-icon-battery-1 { background-position: -64px -176px; } 425 | .ui-icon-battery-2 { background-position: -80px -176px; } 426 | .ui-icon-battery-3 { background-position: -96px -176px; } 427 | .ui-icon-circle-plus { background-position: 0 -192px; } 428 | .ui-icon-circle-minus { background-position: -16px -192px; } 429 | .ui-icon-circle-close { background-position: -32px -192px; } 430 | .ui-icon-circle-triangle-e { background-position: -48px -192px; } 431 | .ui-icon-circle-triangle-s { background-position: -64px -192px; } 432 | .ui-icon-circle-triangle-w { background-position: -80px -192px; } 433 | .ui-icon-circle-triangle-n { background-position: -96px -192px; } 434 | .ui-icon-circle-arrow-e { background-position: -112px -192px; } 435 | .ui-icon-circle-arrow-s { background-position: -128px -192px; } 436 | .ui-icon-circle-arrow-w { background-position: -144px -192px; } 437 | .ui-icon-circle-arrow-n { background-position: -160px -192px; } 438 | .ui-icon-circle-zoomin { background-position: -176px -192px; } 439 | .ui-icon-circle-zoomout { background-position: -192px -192px; } 440 | .ui-icon-circle-check { background-position: -208px -192px; } 441 | .ui-icon-circlesmall-plus { background-position: 0 -208px; } 442 | .ui-icon-circlesmall-minus { background-position: -16px -208px; } 443 | .ui-icon-circlesmall-close { background-position: -32px -208px; } 444 | .ui-icon-squaresmall-plus { background-position: -48px -208px; } 445 | .ui-icon-squaresmall-minus { background-position: -64px -208px; } 446 | .ui-icon-squaresmall-close { background-position: -80px -208px; } 447 | .ui-icon-grip-dotted-vertical { background-position: 0 -224px; } 448 | .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } 449 | .ui-icon-grip-solid-vertical { background-position: -32px -224px; } 450 | .ui-icon-grip-solid-horizontal { background-position: -48px -224px; } 451 | .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } 452 | .ui-icon-grip-diagonal-se { background-position: -80px -224px; } 453 | 454 | 455 | /* Misc visuals 456 | ----------------------------------*/ 457 | 458 | /* Corner radius */ 459 | .ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; -khtml-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } 460 | .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; -khtml-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } 461 | .ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } 462 | .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } 463 | 464 | /* Overlays */ 465 | .ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; } 466 | .ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -khtml-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; } -------------------------------------------------------------------------------- /static/jquery.dimensions.js: -------------------------------------------------------------------------------- 1 | // JavaScript Document 2 | /* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net) 3 | * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 4 | * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. 5 | * 6 | * $LastChangedDate$ 7 | * $Rev$ 8 | * 9 | * Version: @VERSION 10 | * 11 | * Requires: jQuery 1.2+ 12 | */ 13 | 14 | (function($){ 15 | 16 | $.dimensions = { 17 | version: '@VERSION' 18 | }; 19 | 20 | // Create innerHeight, innerWidth, outerHeight and outerWidth methods 21 | $.each( [ 'Height', 'Width' ], function(i, name){ 22 | 23 | // innerHeight and innerWidth 24 | $.fn[ 'inner' + name ] = function() { 25 | if (!this[0]) return; 26 | 27 | var torl = name == 'Height' ? 'Top' : 'Left', // top or left 28 | borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right 29 | 30 | return this.css('display') != 'none' ? this[0]['client' + name] : num( this, name.toLowerCase() ) + num(this, 'padding' + torl) + num(this, 'padding' + borr); 31 | }; 32 | 33 | // outerHeight and outerWidth 34 | $.fn[ 'outer' + name ] = function(options) { 35 | if (!this[0]) return; 36 | 37 | var torl = name == 'Height' ? 'Top' : 'Left', // top or left 38 | borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right 39 | 40 | options = $.extend({ margin: false }, options || {}); 41 | 42 | var val = this.css('display') != 'none' ? 43 | this[0]['offset' + name] : 44 | num( this, name.toLowerCase() ) 45 | + num(this, 'border' + torl + 'Width') + num(this, 'border' + borr + 'Width') 46 | + num(this, 'padding' + torl) + num(this, 'padding' + borr); 47 | 48 | return val + (options.margin ? (num(this, 'margin' + torl) + num(this, 'margin' + borr)) : 0); 49 | }; 50 | }); 51 | 52 | // Create scrollLeft and scrollTop methods 53 | $.each( ['Left', 'Top'], function(i, name) { 54 | $.fn[ 'scroll' + name ] = function(val) { 55 | if (!this[0]) return; 56 | 57 | return val != undefined ? 58 | 59 | // Set the scroll offset 60 | this.each(function() { 61 | this == window || this == document ? 62 | window.scrollTo( 63 | name == 'Left' ? val : $(window)[ 'scrollLeft' ](), 64 | name == 'Top' ? val : $(window)[ 'scrollTop' ]() 65 | ) : 66 | this[ 'scroll' + name ] = val; 67 | }) : 68 | 69 | // Return the scroll offset 70 | this[0] == window || this[0] == document ? 71 | self[ (name == 'Left' ? 'pageXOffset' : 'pageYOffset') ] || 72 | $.boxModel && document.documentElement[ 'scroll' + name ] || 73 | document.body[ 'scroll' + name ] : 74 | this[0][ 'scroll' + name ]; 75 | }; 76 | }); 77 | 78 | $.fn.extend({ 79 | position: function() { 80 | var left = 0, top = 0, elem = this[0], offset, parentOffset, offsetParent, results; 81 | 82 | if (elem) { 83 | // Get *real* offsetParent 84 | offsetParent = this.offsetParent(); 85 | 86 | // Get correct offsets 87 | offset = this.offset(); 88 | parentOffset = offsetParent.offset(); 89 | 90 | // Subtract element margins 91 | offset.top -= num(elem, 'marginTop'); 92 | offset.left -= num(elem, 'marginLeft'); 93 | 94 | // Add offsetParent borders 95 | parentOffset.top += num(offsetParent, 'borderTopWidth'); 96 | parentOffset.left += num(offsetParent, 'borderLeftWidth'); 97 | 98 | // Subtract the two offsets 99 | results = { 100 | top: offset.top - parentOffset.top, 101 | left: offset.left - parentOffset.left 102 | }; 103 | } 104 | 105 | return results; 106 | }, 107 | 108 | offsetParent: function() { 109 | var offsetParent = this[0].offsetParent; 110 | while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && $.css(offsetParent, 'position') == 'static') ) 111 | offsetParent = offsetParent.offsetParent; 112 | return $(offsetParent); 113 | } 114 | }); 115 | 116 | function num(el, prop) { 117 | return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0; 118 | }; 119 | 120 | })(jQuery); 121 | 122 | -------------------------------------------------------------------------------- /static/jquery.mousewheel.js: -------------------------------------------------------------------------------- 1 | (function(c){function g(a){var b=a||window.event,i=[].slice.call(arguments,1),e=0,h=0,f=0;a=c.event.fix(b);a.type="mousewheel";if(b.wheelDelta)e=b.wheelDelta/120;if(b.detail)e=-b.detail/3;f=e;if(b.axis!==undefined&&b.axis===b.HORIZONTAL_AXIS){f=0;h=-1*e}if(b.wheelDeltaY!==undefined)f=b.wheelDeltaY/120;if(b.wheelDeltaX!==undefined)h=-1*b.wheelDeltaX/120;i.unshift(a,e,h,f);return(c.event.dispatch||c.event.handle).apply(this,i)}var d=["DOMMouseScroll","mousewheel"];if(c.event.fixHooks)for(var j=d.length;j;)c.event.fixHooks[d[--j]]= 2 | c.event.mouseHooks;c.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=d.length;a;)this.addEventListener(d[--a],g,false);else this.onmousewheel=g},teardown:function(){if(this.removeEventListener)for(var a=d.length;a;)this.removeEventListener(d[--a],g,false);else this.onmousewheel=null}};c.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); 3 | -------------------------------------------------------------------------------- /static/jquery.movingboxes.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Moving Boxes v2.3.1 minified 3 | * by Chris Coyier 4 | * http://css-tricks.com/moving-boxes/ 5 | */ 6 | ;(function(e){e.movingBoxes=function(g,k){var c,a=this;a.$el=e(g).addClass("mb-slider");a.el=g;a.$el.data("movingBoxes",a);a.init=function(){a.options=c=e.extend({},e.movingBoxes.defaultOptions,k);a.$el.wrap('
');a.$window=a.$el.parent();a.$wrap=a.$window.parent().prepend('').append('
'); a.$panels=a.$el.children().addClass("mb-panel");a.runTime=e(".mb-slider").index(a.$el)+1;a.regex=RegExp("slider"+a.runTime+"=(\\d+)","i");a.initialized=!1;a.currentlyMoving=!1;a.curPanel=c.initAnimation?1:a.getHash()||c.startPanel;a.width=c.width?parseInt(c.width,10):a.$el.width();a.pWidth=c.panelWidth?2>=c.panelWidth?c.panelWidth*a.width:c.panelWidth:a.$panels.eq(0).width();a.$left=a.$wrap.find(".mb-left").click(function(){a.goBack();return!1});a.$right=a.$wrap.find(".mb-right").click(function(){a.goForward(); return!1});a.update(!1);a.setWrap(a.curPanel);a.$el.delegate(".mb-panel","click",function(b){e(this).hasClass(c.currentPanel)||(b.preventDefault(),a.change(a.$panels.index(e(this))+a.adj,{},!0))});a.$wrap.click(function(){a.$wrap.hasClass("mb-active-slider")||a.active()});a.$panels.delegate("a","focus",function(b){b.preventDefault();b=a.$panels.index(e(this).closest(".mb-panel"))+a.adj;b!==a.curPanel&&a.change(b,{},!0)});e(document).keyup(function(b){if(!b.target.tagName.match("TEXTAREA|INPUT|SELECT"))switch(b.which){case 39:case 32:a.$wrap.is(".mb-active-slider")&& a.goForward();break;case 37:a.$wrap.is(".mb-active-slider")&&a.goBack()}});e.each(["preinit","initialized","initChange","beforeAnimation","completed"],function(b,f){e.isFunction(c[f])&&a.$el.bind(f+".movingBoxes",c[f])});a.$el.trigger("preinit.movingBoxes",[a,a.curPanel])};a.update=function(b,f){a.$el.children(".cloned").remove();a.$panels=a.$el.children();a.adj=c.wrap&&1')});a.totalPanels=a.$panels.filter(":not(.cloned)").length;a.setSizes(b);a.buildNav();a.change(a.curPanel, f,b);a.imagesLoaded(function(){a.setSizes(!1);a.change(a.curPanel,{},!1);a.initialized||setTimeout(function(){a.change(a.getHash()||c.startPanel);a.initialized=!0;a.$el.trigger("initialized.movingBoxes",[a,a.curPanel])},2*c.speed)})};a.setSizes=function(b){a.padding=parseInt(a.$panels.css("padding-left"),10)+parseInt(a.$panels.css("margin-left"),10);a.curWidth=c.panelWidth?2>=c.panelWidth?c.panelWidth*a.width:c.panelWidth:a.pWidth;a.regWidth=a.curWidth*c.reducedSize;a.$panels.css({width:a.curWidth, fontSize:"1em"});a.$panels.eq(a.curPanel-a.adj).addClass(c.currentPanel);a.heights=a.$panels.css("height","auto").map(function(a,b){return e(b).outerHeight(!0)}).get();a.returnToNormal(a.curPanel,0);a.growBigger(a.curPanel,0,b);a.updateArrows(a.curPanel);a.$el.css({position:"absolute",width:(a.curWidth+2*a.padding)*a.$panels.length+(a.width-a.curWidth)/2,height:Math.max.apply(this,a.heights)+10,"padding-left":(a.width-a.curWidth)/2});a.$window.css({height:c.fixedHeight?Math.max.apply(this,a.heights): a.heights[a.curPanel-a.adj]})};a.buildNav=function(){a.$nav?a.$nav.find(".mb-links").empty():a.$nav=e('
').appendTo(a.$wrap);if(c.buildNav&&1';j=e(d);e.isFunction(c.navFormatter)?(b=c.navFormatter(f,e(this)),"string"===typeof b?j.html(b):j=e("",b)):j.html(f);j.appendTo(a.$nav.find(".mb-links")).addClass("mb-link mb-panel"+ f).data("index",f)});a.$nav.find("a.mb-link").bind("click",function(){a.change(e(this).data("index"));return!1})}};a.returnToNormal=function(b,f){var d=a.$panels.not(":eq("+(b-a.adj)+")").removeClass(c.currentPanel);1===c.reducedSize?d.css({width:a.regWidth}):d.stop(!0,!1).animate({width:a.regWidth,fontSize:c.reducedSize+"em"},0===f?0:c.speed)};a.growBigger=function(b,f,d){var e=a.$panels.eq(b-a.adj);1===c.reducedSize?(e.css({width:a.curWidth}),setTimeout(function(){a.completed(b,d)},0===f?0:c.speed)): e.stop(!0,!1).animate({width:a.curWidth,fontSize:"1em"},0===f?0:c.speed,function(){a.completed(b,d)})};a.setWrap=function(b){a.growBigger(b,0,!1);b=a.$panels.eq(b).position().left-(a.width-a.curWidth)/2+a.padding;a.$window.scrollLeft(b)};a.completed=function(b,f){var d=a.$panels.eq(b-a.adj);d.hasClass("cloned")||d.addClass(c.currentPanel);!1!==f&&a.$el.trigger("completed.movingBoxes",[a,b])};a.goForward=function(b){a.initialized&&a.change(a.curPanel+1,b)};a.goBack=function(b){a.initialized&&a.change(a.curPanel- 1,b)};a.change=function(b,f,d){if(1>a.totalPanels)"function"===typeof f&&f(a);else{var j,i,h,g=!1;h=(d=!1!==d)?c.speed:0;b=/^[#|.]/.test(b)&&e(b).length?e(b).closest(".mb-panel").index()+a.adj:parseInt(b,10);a.initialized&&d&&(a.$wrap.hasClass("mb-active-slider")||a.active(),a.$el.trigger("initChange.movingBoxes",[a,b]));c.wrap&&(b>a.totalPanels?(g=!0,b=1,a.returnToNormal(0,0),a.setWrap(0)):0===b&&(g=!1,b=a.totalPanels,a.setWrap(b+1)));ba.totalPanels-a.adj&&(b= c.wrap?1:a.totalPanels);if(a.curPanel!==b&&(!a.currentlyMoving||!a.initialized)){a.currentlyMoving=!c.stopAnimation;a.$curPanel=a.$panels.eq(b-a.adj);i=a.$curPanel.position().left-(a.width-a.curWidth)/2+a.padding;if(b>a.curPanel||g)i-=a.curWidth-a.regWidth;j=c.fixedHeight?{scrollLeft:i}:{scrollLeft:i,height:a.heights[b-a.adj]};a.curPanel=b;a.initialized&&d&&a.$el.trigger("beforeAnimation.movingBoxes",[a,b]);c.delayBeforeAnimate?setTimeout(function(){a.animateBoxes(b,j,h,d,f)},parseInt(c.delayBeforeAnimate, 10)||0):a.animateBoxes(b,j,h,d,f)}else a.endAnimation()}};a.animateBoxes=function(b,f,d,e,g){a.$window.scrollTop(0).stop(!0,!1).animate(f,{queue:!1,duration:d,easing:c.easing,complete:function(){a.initialized&&a.$window.scrollTop(0);a.currentlyMoving=!1;"function"===typeof g&&g(a)}});a.returnToNormal(b,d);a.growBigger(b,d,e);a.updateArrows(b);c.hashTags&&a.initialized&&a.setHash(b);a.endAnimation()};a.endAnimation=function(){c.buildNav&&a.$nav.length&&a.$nav.find("a.mb-link").removeClass(c.currentPanel).eq(a.curPanel- 1).addClass(c.currentPanel)};a.updateArrows=function(b){a.$left.toggleClass(c.disabled,!c.wrap&&b===a.adj);a.$right.toggleClass(c.disabled,!c.wrap&&(b===a.totalPanels||0===a.totalPanels))};a.getHash=function(){var b=window.location.hash,f=b.indexOf("&"),d=b.match(a.regex);null===d&&!/^#&/.test(b)&&!/#!?\//.test(b)?(b=b.substring(0,0<=f?f:b.length),d=e(b).length&&e(b).closest(".mb-slider")[0]===a.el?e(b).closest(".mb-panel").index()+a.adj:null):null!==d&&(d=c.hashTags?parseInt(d[1],10):null);return d}; a.setHash=function(b){var c="slider"+a.runTime+"=",d=window.location.hash;"undefined"!==typeof d&&(window.location.hash=0h[d].fileSize&&10 .clipboard { 11 | position: fixed; 12 | } 13 | .terminal { 14 | padding: 10px; 15 | position: relative; 16 | overflow: hidden; 17 | } 18 | .cmd { 19 | padding: 0; 20 | margin: 0; 21 | height: 1.3em; 22 | } 23 | .terminal .terminal-output div { 24 | display: block; 25 | } 26 | .terminal, .terminal .terminal-output, .terminal .terminal-output div, 27 | .terminal .terminal-output div div, .cmd, .terminal .cmd span, .terminal .cmd div { 28 | font-family: monospace; 29 | color: #aaa; 30 | background-color: #000; 31 | font-size: 12px; 32 | } 33 | /* This works only in Safari and Google Chrome */ 34 | @media screen and (-webkit-min-device-pixel-ratio:0) { 35 | .terminal, .terminal .terminal-output, .terminal .terminal-output div, 36 | .terminal .terminal-output div div, .cmd, .terminal .cmd span, .terminal .cmd div { 37 | font-weight: bold; 38 | } 39 | } 40 | .terminal .cmd span { 41 | float: left; 42 | } 43 | .terminal .cmd span.inverted { 44 | background-color: #aaa; 45 | color: #000; 46 | } 47 | .terminal::-moz-selection { 48 | background: rgba(170, 170, 170, 0.99); 49 | color: #000; 50 | text-shadow: none; 51 | } 52 | .terminal::-webkit-selection { 53 | background: rgba(170, 170, 170, 0.99); 54 | color: #000; 55 | text-shadow: none; 56 | } 57 | .terminal::selection { 58 | background: rgba(170, 170, 170, 0.99); 59 | color: #000; 60 | text-shadow: none; 61 | } 62 | /* chrome hack */ 63 | @media screen and (-webkit-min-device-pixel-ratio:0) { 64 | ::selection { 65 | background: rgba(170, 170, 170, 0.99); 66 | color: #000; 67 | text-shadow: none; 68 | } 69 | } 70 | .terminal .terminal-output div.error, .terminal .terminal-output div.error div { 71 | color: red; 72 | } 73 | .tilda { 74 | position: fixed; 75 | top: 0; 76 | left: 0; 77 | width: 100%; 78 | z-index: 1100; 79 | } 80 | .clear { 81 | clear: both; 82 | } 83 | -------------------------------------------------------------------------------- /static/jquery.terminal.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | | __ _____ ________ __ 4 | | / // _ /__ __ _____ ___ __ _/__ ___/__ ___ ______ __ __ __ ___ / / 5 | | __ / // // // // // _ // _// // / / // _ // _// // // \/ // _ \/ / 6 | | / / // // // // // ___// / / // / / // ___// / / / / // // /\ // // / /__ 7 | | \___//____ \\___//____//_/ _\_ / /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/ 8 | | \/ /____/ version 0.4.12 9 | http://terminal.jcubic.pl 10 | 11 | Licensed under GNU LGPL Version 3 license 12 | Copyright (c) 2011 Jakub Jankiewicz 13 | 14 | Includes: 15 | 16 | Storage plugin Distributed under the MIT License 17 | Copyright (c) 2010 Dave Schindler 18 | 19 | LiveQuery plugin Dual MIT and GPL 20 | Copyright (c) 2008 Brandon Aaron (http://brandonaaron.net) 21 | 22 | jQuery Timers licenced with the WTFPL 23 | 24 | 25 | Date: Wed, 04 Apr 2012 16:30:49 +0000 26 | */ 27 | Array.prototype.has=function(g){for(var z=this.length;z--;)if(this[z]==g)return true;return false};function get_stack(g){return g?[g.toString().match(/.*\n.*\n/)].concat(get_stack(g.caller)):[]} 28 | (function(g,z){function ea(a,d){var e;if(typeof a==="string"&&typeof d==="string"){localStorage[a]=d;return true}else if(typeof a==="object"&&typeof d==="undefined"){for(e in a)if(a.hasOwnProperty(e))localStorage[e]=a[e];return true}return false}function $(a,d){var e,i;e=new Date;e.setTime(e.getTime()+31536E6);e="; expires="+e.toGMTString();if(typeof a==="string"&&typeof d==="string"){document.cookie=a+"="+d+e+"; path=/";return true}else if(typeof a==="object"&&typeof d==="undefined"){for(i in a)if(a.hasOwnProperty(i))document.cookie= 29 | i+"="+a[i]+e+"; path=/";return true}return false}function fa(a){return localStorage[a]}function ga(a){var d,e,i;a+="=";d=document.cookie.split(";");for(e=0;e/g,">");a=a.replace(/\n/g,"
");a=a.replace(/ /g," ");a=a.replace(/\t/g,"    ");var d=a.split(ja);if(d.length>1)a=g.map(d,function(e){return e===""?e:e[0]=="["?e.replace(Y,function(i,h,t,v,C){if(C==="")return" ";i="";if(h.indexOf("b")!=-1)i+="font-weight:bold;";var L="text-decoration:";if(h.indexOf("u")!=-1)L+="underline ";if(h.indexOf("s")!=-1)L+="line-through"; 31 | if(h.indexOf("s")!=-1||h.indexOf("u")!=-1)i+=L+";";if(h.indexOf("i")!=-1)i+="font-style:italic; ";if(t.match(aa))i+="color:"+t+";";if(v.match(aa))i+="background-color:"+v;return a=''+C+""}):""+e+""}).join("");return a}else return""}function ba(a){var d=a instanceof Array?a:a?[a]:[],e=0;g.extend(this,{left:function(){if(e===0)e=d.length-1;else--e;return d[e]},right:function(){if(e==d.length-1)e=0;else++e;return d[e]},current:function(){return d[e]},data:function(){return d}, 32 | length:function(){return d.length},reset:function(){e=0},append:function(i){d.push(i);this.reset()}})}function ka(a){var d=a?[a]:[];g.extend(this,{size:function(){return d.length},pop:function(){if(d.length===0)return null;else{var e=d[d.length-1];d=d.slice(0,d.length-1);return e}},push:function(e){d=d.concat([e]);return e},top:function(){return d.length>0?d[d.length-1]:null}})}function la(a){var d=true;if(typeof a==="string"&&a!=="")a+="_";var e=g.Storage.get(a+"commands"),i=new ba(e?eval("("+e+ 33 | ")"):[""]);g.extend(this,{append:function(h){if(d&&i.current()!=h){i.append(h);g.Storage.set(a+"commands",g.json_stringify(i.data()))}},data:function(){return i.data()},next:function(){return i.right()},last:function(){i.reset()},previous:function(){return i.left()},clear:function(){i=new ba;g.Storage.remove(a+"commands")},enable:function(){d=true},disable:function(){d=false}})}g.extend(g.fn,{livequery:function(a,d,e){var i=this,h;if(g.isFunction(a)){e=d;d=a;a=z}g.each(g.livequery.queries,function(t, 34 | v){if(i.selector==v.selector&&i.context==v.context&&a==v.type&&(!d||d.$lqguid==v.fn.$lqguid)&&(!e||e.$lqguid==v.fn2.$lqguid))return(h=v)&&false});h=h||new g.livequery(this.selector,this.context,a,d,e);h.stopped=false;h.run();return this},expire:function(a,d,e){var i=this;if(g.isFunction(a)){e=d;d=a;a=z}g.each(g.livequery.queries,function(h,t){if(i.selector==t.selector&&i.context==t.context&&(!a||a==t.type)&&(!d||d.$lqguid==t.fn.$lqguid)&&(!e||e.$lqguid==t.fn2.$lqguid)&&!this.stopped)g.livequery.stop(t.id)}); 35 | return this}});g.livequery=function(a,d,e,i,h){this.selector=a;this.context=d||document;this.type=e;this.fn=i;this.fn2=h;this.elements=[];this.stopped=false;this.id=g.livequery.queries.push(this)-1;i.$lqguid=i.$lqguid||g.livequery.guid++;if(h)h.$lqguid=h.$lqguid||g.livequery.guid++;return this};g.livequery.prototype={stop:function(){var a=this;if(this.type)this.elements.unbind(this.type,this.fn);else this.fn2&&this.elements.each(function(d,e){a.fn2.apply(e)});this.elements=[];this.stopped=true},run:function(){if(!this.stopped){var a= 36 | this,d=this.elements,e=g(this.selector,this.context),i=e.not(d);this.elements=e;if(this.type){i.bind(this.type,this.fn);d.length>0&&g.each(d,function(h,t){g.inArray(t,e)<0&&g.event.remove(t,a.type,a.fn)})}else{i.each(function(){a.fn.apply(this)});this.fn2&&d.length>0&&g.each(d,function(h,t){g.inArray(t,e)<0&&a.fn2.apply(t)})}}}};g.extend(g.livequery,{guid:0,queries:[],queue:[],running:false,timeout:null,checkQueue:function(){if(g.livequery.running&&g.livequery.queue.length)for(var a=g.livequery.queue.length;a--;)g.livequery.queries[g.livequery.queue.shift()].run()}, 37 | pause:function(){g.livequery.running=false},play:function(){g.livequery.running=true;g.livequery.run()},registerPlugin:function(){g.each(arguments,function(a,d){if(g.fn[d]){var e=g.fn[d];g.fn[d]=function(){var i=e.apply(this,arguments);g.livequery.run();return i}}})},run:function(a){if(a!=z)g.inArray(a,g.livequery.queue)<0&&g.livequery.queue.push(a);else g.each(g.livequery.queries,function(d){g.inArray(d,g.livequery.queue)<0&&g.livequery.queue.push(d)});g.livequery.timeout&&clearTimeout(g.livequery.timeout); 38 | g.livequery.timeout=setTimeout(g.livequery.checkQueue,20)},stop:function(a){a!=z?g.livequery.queries[a].stop():g.each(g.livequery.queries,function(d){g.livequery.queries[d].stop()})}});g.livequery.registerPlugin("append","prepend","after","before","wrap","attr","removeAttr","addClass","removeClass","toggleClass","empty","remove");g(function(){g.livequery.play()});var ma=g.prototype.init;g.prototype.init=function(a,d){var e=ma.apply(this,arguments);if(a&&a.selector){e.context=a.context;e.selector= 39 | a.selector}if(typeof a=="string"){e.context=d||document;e.selector=a}return e};g.prototype.init.prototype=g.prototype;var U=typeof window.localStorage!=="undefined";g.extend({Storage:{set:U?ea:$,get:U?fa:ga,remove:U?ha:ia}});jQuery.fn.extend({everyTime:function(a,d,e,i,h){return this.each(function(){jQuery.timer.add(this,a,d,e,i,h)})},oneTime:function(a,d,e){return this.each(function(){jQuery.timer.add(this,a,d,e,1)})},stopTime:function(a,d){return this.each(function(){jQuery.timer.remove(this,a, 40 | d)})}});jQuery.extend({timer:{guid:1,global:{},regex:/^([0-9]+)\s*(.*s)?$/,powers:{ms:1,cs:10,ds:100,s:1E3,das:1E4,hs:1E5,ks:1E6},timeParse:function(a){if(a==z||a===null)return null;var d=this.regex.exec(jQuery.trim(a.toString()));return d[2]?parseInt(d[1],10)*(this.powers[d[2]]||1):a},add:function(a,d,e,i,h,t){var v=0;if(jQuery.isFunction(e)){h||(h=i);i=e;e=d}d=jQuery.timer.timeParse(d);if(!(typeof d!="number"||isNaN(d)||d<=0)){if(h&&h.constructor!=Number){t=!!h;h=0}h=h||0;t=t||false;if(!a.$timers)a.$timers= 41 | {};a.$timers[e]||(a.$timers[e]={});i.$timerID=i.$timerID||this.guid++;var C=function(){if(!(t&&this.inProgress)){this.inProgress=true;if(++v>h&&h!==0||i.call(a,v)===false)jQuery.timer.remove(a,e,i);this.inProgress=false}};C.$timerID=i.$timerID;a.$timers[e][i.$timerID]||(a.$timers[e][i.$timerID]=window.setInterval(C,d));this.global[e]||(this.global[e]=[]);this.global[e].push(a)}},remove:function(a,d,e){var i=a.$timers,h;if(i){if(d){if(i[d]){if(e){if(e.$timerID){window.clearInterval(i[d][e.$timerID]); 42 | delete i[d][e.$timerID]}}else for(e in i[d]){window.clearInterval(i[d][e]);delete i[d][e]}for(h in i[d])break;if(!h){h=null;delete i[d]}}}else for(d in i)this.remove(a,d,e);for(h in i)break;if(!h)a.$timers=null}}}});if(jQuery.browser.msie)jQuery(window).one("unload",function(){var a=jQuery.timer.global,d;for(d in a)for(var e=a[d],i=e.length;--i;)jQuery.timer.remove(e[i],d)});var ja=/(\[\[[bius]*;[^;]*;[^\]]*\][^\]\[]*\])/g,Y=/\[\[([bius]*);([^;]*);([^\]]*)\]([^\]\[]*)\]/g,aa=/#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})/; 43 | g.json_stringify=function(a,d){var e="",i;d=d===z?1:d;switch(typeof a){case "function":e+=a;break;case "boolean":e+=a?"true":"false";break;case "object":if(a===null)e+="null";else if(a instanceof Array){e+="[";var h=a.length;for(i=0;i1?",":"";if(d==1)e=e.replace(/,([\]}])/g,"$1");return e.replace(/([\[{]),/g,"$1")};g.fn.cmd=function(a){function d(){M.toggleClass("inverted")}function e(f){var q=f.substring(0,v-C-1);f=f.substring(v-C-1);return[q].concat(X(f,v))}function i(){t.focus();h.oneTime(1,function(){h.insert(t.val());t.blur().val("")})}var h=this;h.addClass("cmd");h.append(' '); 45 | var t=g("