Commit 09b27107 by Kyle Fiedler

merged with default

--HG--
branch : templates-kf-print
parents 0cbd6fa2 42daf8dd
No preview for this file type
......@@ -26,6 +26,7 @@ someone else already signed up with that username. Try a different,
more unique username. For example, try adding a random number to the
end.</p>
<a name="othercourses">
<h2> I am interested in a different subject. What other courses do
you offer? </h2>
......@@ -33,6 +34,7 @@ you offer? </h2>
range of courses in the future, at present, 6.002x is the only course
available.</p>
<a name="start">
<h2>How will I know that the course has started?</h2>
<p> The course will start on March 5. Check the website
......@@ -41,30 +43,44 @@ the course website 6.002x.mitx.mit.edu on or slightly before March 5
so you can login, begin to get familiar with the site and start the
course.</p>
<a name="login">
<h2> Why is there no log-in button?</h2>
<p> You will not be able to log into the course until either the
starting date, or shortly before.</p>
<a name="schedule">
<h2> Does the class have a schedule?</h2>
<p> The lectures are on-line videos, and may be watched at your own
pace and schedule. The course will have fixed deadlines for homework
assignments and exams. </p>
<a name="enrollissues">
<h2> I just enrolled for the course. I have not received any form
of acknowledgement that I have enrolled.</h2>
<p> You should receive a single activation e-mail. If you did not,
check your spam folder, or try to register again with your correct
e-mail address and a new username (most errors are from typos in
e-mail addresses).</p>
<p> You should receive a single activation e-mail. If you did not, the
most common issues are:
<ul>
<li> Typo in e-mail address
<li> Old browser. We recommend trying a modern version of Firefox or Chrome
<li> JavaScript disabled
<li> Activation e-mail in spam folder. Check spam folder.
<li> Non-unique username. Try adding a random string at the end.
</ul>
<p>If you run into issues, try recreating your account. There is no need
to do anything about the old account, if any. If it is not activated
through the link in the e-mail, it will disappear later.
<a name="howdropcourse">
<h2> How do I drop the course?</h2>
<p> You do not have to do anything. You can simply stop working on the
course at any time you choose to do so.</p>
<a name="ifdropcourse">
<h2>What happens if I drop the course?</h2>
<p> For the prototype course, learners achieving grades of "A," "B,"
......@@ -76,6 +92,7 @@ will be disclosed outside of MITx. You can also choose to opt for a
no record at any time. However, the posts you make while enrolled in
the class will remain visible. </p>
<a name="whatismitx">
<h2>
What is <i>MITx</i>?</h2>
......@@ -104,6 +121,7 @@ education. The launch of <i>MITx</i> represents a next step forward in that
effort.
</p>
<a name="differentcampus">
<h2>
What is 6.002x, and how is it different from the on-campus version of
6.002?
......@@ -133,6 +151,7 @@ version of 6.002.
professors Anant Agarwal and Jeffrey H. Lang for 6.002.
</p>
<a name="howenroll">
<h2>
How do I enroll in 6.002x?
</h2>
......@@ -141,6 +160,7 @@ To enroll, visit <a href="http://mitx.mit.edu">http://mitx.mit.edu</a>
and sign up.
</p>
<a name="whenavailable">
<h2>
When will the course be available online?
</h2>
......@@ -149,6 +169,7 @@ When will the course be available online?
6.002x will become available online on Monday, March 5.
</p>
<a name="timeline">
<h2>
Do I need to follow a set timeline in completing 6.002x?
</h2>
......@@ -160,6 +181,7 @@ final exam will be given within a specific range of days. However,
faster-paced learners can proceed multiple weeks ahead if they choose.
</p>
<a name="workrequired">
<h2>
How much time is required to complete the course?
</h2>
......@@ -169,6 +191,7 @@ course. However, the time taken by individual students might vary
considerably depending on background and skill.
</p>
<a name="instructors">
<h2>
Who are the instructors for 6.002x?
</h2>
......@@ -178,6 +201,7 @@ Gerald Sussman and Piotr Mitros. The team also includes several
teaching assistants (TAs).
</p>
<a name="worklike">
<h2>
What is the work like in 6.002x?
</h2>
......@@ -199,6 +223,7 @@ videos. Lab and homework exercises will round out the week. Tutorials
are also provided as additional reference material.
</p>
<a name="questionsduringcourse">
<h2>
What if I have a question during the course?
</h2>
......@@ -209,6 +234,7 @@ documents, FAQs, tutorials and videos on using the various components
of the course will also be provided.
</p>
<a name="collaboration">
<h2>
Will 6.002x offer any means for collaboration among online learners?
</h2>
......@@ -217,6 +243,7 @@ Yes. 6.002x will offer modest support for collaborative work through a
prototype wiki and discussion forum.
</p>
<a name="prereqs">
<h2>
Are there prerequisites to take the course?
</h2>
......@@ -239,6 +266,7 @@ remedial differential equations component for students with weaker
math backgrounds.
</p>
<a name="cost">
<h2>
How much does the course cost?
</h2>
......@@ -246,9 +274,10 @@ How much does the course cost?
All of the courses on <i>MITx</i> will be free of charge. Those who have the
ability and motivation to demonstrate mastery of content can receive a
credential for a modest fee. For this prototype course, the fee for a
credential will be waived.
credential will be waived.
</p>
<a name="credential">
<h2>
What is a credential?
</h2>
......@@ -261,6 +290,7 @@ testing center or otherwise have your identity certified in order to
receive this certificate.
</p>
<a name="whograding">
<h2>
Who is grading the course?
</h2>
......@@ -269,6 +299,7 @@ Who is grading the course?
including practice exercises, homework assignments, labs and exams.
</p>
<a name="whatpassing">
<h2>
What is a passing grade?
</h2>
......@@ -279,6 +310,7 @@ affecting a student&rsquo;s grade and the grade thresholds will be
posted on the course website when the course comes online.
</p>
<a name="textbook">
<h2>
Do I need to buy a textbook?
</h2>
......@@ -290,23 +322,28 @@ provided electronically as part of the online course. While the
textbook is recommended, it is not required. The electronic text is
provided for personal use in connection with this course only. The
copyright for the book is owned by Elsevier. The book can be purchased
on Amazon.
on <a href="http://www.amazon.com/exec/obidos/ASIN/1558607358/ref=nosim/mitopencourse-20" target="_blank">Amazon</a>.
</p>
<a name="technicalrequirements">
<h2>
Do I need to have special software to access 6.002x?
</h2>
<p>
No, you do not need special software to access 6.002x, as you will
access the online interactive course through your browser. The course
website was developed and tested primarily with Google Chrome. We
support current versions of Mozilla Firefox as well. The video player
is designed to work with Flash. While we provide a partial non-Flash
fallback for the video, as well as partial support for Internet
Explorer, other browsers and tablets, portions of the functionality
will be unavailable.
website was developed and tested primarily with the current version of
Google Chrome. We support current versions of Mozilla Firefox as
well. The video player is based on Youtube, and is designed to work
with Flash. We provide a partial non-Flash fallback for the video, but
this uses Google's experimental HTML5 API, and hence we cannot
guarantee those will continue to function for the duration of the
semester. We provide partial support for Internet Explorer, as well as
other browsers and tablets, but portions of the functionality will be
unavailable.
</p>
<a name="futurecourses">
<h2>
When will the next courses become available and what topics will they be on?
</h2>
......
../data/problems/Lab2A.html
\ No newline at end of file
<li><a href="javascript:goto_page(9)"> Contents ix </a>
<li><a href="javascript:goto_page(1)"> Preamble i </a>
<ul> <li><a href="javascript:goto_page(1)"> Comments on the Book i</a>
<li><a href="javascript:goto_page(4)"> About the Authors iv</a>
<li><a href="javascript:goto_page(7)"> Dedication vii</a>
<li><a href="javascript:goto_page(19)"> Preface xix </a>
<li><a href="javascript:goto_page(19)"> Approach xix </a>
<li><a href="javascript:goto_page(21)"> Overview xxi </a>
<li><a href="javascript:goto_page(23)"> Course Organization xxiii </a>
<li><a href="javascript:goto_page(23)"> Web Supplements xxiii </a>
<li><a href="javascript:goto_page(24)"> Acknowledgments xxiv </a>
</ul>
<li><a href="javascript:goto_page(27)"> The Circuit Abstraction </a>
<ul> <li><a href="javascript:goto_page(27)"> The Power of Abstraction </a>
<li><a href="javascript:goto_page(29)"> The Lumped Circuit Abstraction</a>
<li><a href="javascript:goto_page(33)"> The Lumped Matter Discipline </a>
<li><a href="javascript:goto_page(37)"> Limitations of the Lumped Circuit Abstraction </a>
<li><a href="javascript:goto_page(39)"> Practical Two-Terminal Elements </a>
<ul> <li><a href="javascript:goto_page(40)"> Batteries </a>
<li><a href="javascript:goto_page(42)"> Linear Resistors </a>
<li><a href="javascript:goto_page(49)"> Associated Variables Convention </a>
</ul> <li><a href="javascript:goto_page(53)"> Ideal Two-Terminal Elements </a>
<ul> <li><a href="javascript:goto_page(54)"> Ideal Voltage Sources, Wires and Resistors </a>
<li><a href="javascript:goto_page(56)"> Element Laws </a>
<li><a href="javascript:goto_page(57)"> The Current Source</a>
</ul> <li><a href="javascript:goto_page(60)"> Modeling Physical Elements </a>
<li><a href="javascript:goto_page(64)"> Signal Representation </a>
<ul> <li><a href="javascript:goto_page(65)"> Analog Signals</a>
<li><a href="javascript:goto_page(66)"> Digital Signals</a>
</ul> <li><a href="javascript:goto_page(70)"> Summary </a>
<li><a href="javascript:goto_page(27)"> 1 The Circuit Abstraction 3 </a>
<ul> <li><a href="javascript:goto_page(27)"> 1.1 The Power of Abstraction 3 </a>
<li><a href="javascript:goto_page(29)"> 1.2 The Lumped Circuit Abstraction 4 </a>
<li><a href="javascript:goto_page(33)"> 1.3 The Lumped Matter Discipline 9 </a>
<li><a href="javascript:goto_page(37)"> 1.4 Limitations of the Lumped Circuit Abstraction 13 </a>
<li><a href="javascript:goto_page(39)"> 1.5 Practical Two-Terminal Elements 15 </a>
<ul> <li><a href="javascript:goto_page(40)"> 1.5.1 Batteries 16 </a>
<li><a href="javascript:goto_page(42)"> 1.5.2 Linear Resistors 18 </a>
<li><a href="javascript:goto_page(49)"> 1.5.3 Associated Variables Convention 25 </a>
</ul> <li><a href="javascript:goto_page(53)"> 1.6 Ideal Two-Terminal Elements 29 </a>
<ul> <li><a href="javascript:goto_page(54)"> 1.6.1 Ideal Voltage Sources, Wires and Resistors 30 </a>
<li><a href="javascript:goto_page(56)"> 1.6.2 Element Laws 32 </a>
<li><a href="javascript:goto_page(57)"> 1.6.3 The Current Source 33 </a>
</ul> <li><a href="javascript:goto_page(60)"> 1.7 Modeling Physical Elements 36 </a>
<li><a href="javascript:goto_page(64)"> 1.8 Signal Representation 40 </a>
<ul> <li><a href="javascript:goto_page(65)"> 1.8.1 Analog Signals 41 </a>
<li><a href="javascript:goto_page(66)"> 1.8.3 Digital Signals 42 </a>
</ul> <li><a href="javascript:goto_page(70)"> 1.9 Summary 46 </a>
</ul> <li><a href="javascript:goto_page(77)"> Resistive Networks </a>
<ul> <li><a href="javascript:goto_page(78)"> Terminology </a>
<li><a href="javascript:goto_page(79)"> Kirchhoff's Laws </a>
<ul> <li><a href="javascript:goto_page(80)"> KCL </a>
<li><a href="javascript:goto_page(84)"> KVL </a>
</ul> <li><a href="javascript:goto_page(90)"> Circuit Analysis: Basic Method </a>
<ul> <li><a href="javascript:goto_page(91)"> Single-Resistor Circuits </a>
<li><a href="javascript:goto_page(94)"> Quick Intuitive Analysis of Single-Resistor Circuits </a>
<li><a href="javascript:goto_page(95)"> Energy Conservation </a>
<li><a href="javascript:goto_page(97)"> Voltage and Current Dividers </a>
<li><a href="javascript:goto_page(99)"> Voltage Dividers </a>
<li><a href="javascript:goto_page(100)"> Resistors in Series </a>
<li><a href="javascript:goto_page(104)"> Current Dividers </a>
<li><a href="javascript:goto_page(108)"> Resistors in Parallel </a>
<li><a href="javascript:goto_page(108)"> A More Complex Circuit </a>
</ul> <li><a href="javascript:goto_page(131)"> Intuitive Method of Circuit Analysis </a>
<li><a href="javascript:goto_page(132)"> More Examples </a>
<li><a href="javascript:goto_page(122)"> Dependent Sources and the Control Concept </a>
<ul> <li><a href="javascript:goto_page(126)"> Circuits with Dependent Sources </a>
</ul> <li><a href="javascript:goto_page(131)"> A Formulation Suitable for a Computer Solution * </a>
<li><a href="javascript:goto_page(132)"> Summary </a>
</ul> <li><a href="javascript:goto_page(77)"> 2 Resistive Networks 53 </a>
<ul> <li><a href="javascript:goto_page(78)"> 2.1 Terminology 54 </a>
<li><a href="javascript:goto_page(79)"> 2.2 Kirchhoff's Laws 55 </a>
<ul> <li><a href="javascript:goto_page(80)"> 2.2.1 KCL 56 </a>
<li><a href="javascript:goto_page(84)"> 2.2.1 KVL 60 </a>
</ul> <li><a href="javascript:goto_page(90)"> 2.3 Circuit Analysis: Basic Method 66 </a>
<ul> <li><a href="javascript:goto_page(91)"> 2.3.1 Single-Resistor Circuits 67 </a>
<li><a href="javascript:goto_page(94)"> 2.3.2 Quick Intuitive Analysis of Single-Resistor Circuits 70 </a>
<li><a href="javascript:goto_page(95)"> 2.3.3 Energy Conservation 71 </a>
<li><a href="javascript:goto_page(97)"> 2.3.4 Voltage and Current Dividers 73 </a>
<li><a href="javascript:goto_page(99)"> 2.3.4.1 Voltage Dividers 73 </a>
<li><a href="javascript:goto_page(100)"> 2.3.4.2 Resistors in Series 76 </a>
<li><a href="javascript:goto_page(104)"> 2.3.4.3 Current Dividers 80 </a>
<li><a href="javascript:goto_page(108)"> 2.3.4.4 Resistors in Parallel 82 </a>
<li><a href="javascript:goto_page(108)"> 2.3.5 A More Complex Circuit 84 </a>
</ul> <li><a href="javascript:goto_page(131)"> 2.4 Intuitive Method of Circuit Analysis 107 </a>
<li><a href="javascript:goto_page(132)"> 2.5 More Examples 108 </a>
<li><a href="javascript:goto_page(122)"> 2.6 Dependent Sources and the Control Concept 98 </a>
<ul> <li><a href="javascript:goto_page(126)"> 2.6.1 Circuits with Dependent Sources 102 </a>
</ul> <li><a href="javascript:goto_page(131)"> 2.7 A Formulation Suitable for a Computer Solution * 107 </a>
<li><a href="javascript:goto_page(132)"> 2.8 Summary 108 </a>
</ul> <li><a href="javascript:goto_page(143)"> Network Theorems </a>
<ul> <li><a href="javascript:goto_page(143)"> Introduction </a>
<li><a href="javascript:goto_page(143)"> The Node Voltage </a>
<li><a href="javascript:goto_page(149)"> The Node Method </a>
<ul> <li><a href="javascript:goto_page(154)"> Node Method: A Second Example </a>
<li><a href="javascript:goto_page(159)"> Floating Independent Voltage Sources </a>
<li><a href="javascript:goto_page(163)"> Dependent Sources and the Node Method </a>
<li><a href="javascript:goto_page(169)"> The Conductance and Source Matrices *}</a>
</ul> <li><a href="javascript:goto_page(169)"> Loop Method * </a>
<li><a href="javascript:goto_page(169)"> Superposition </a>
<ul> <li><a href="javascript:goto_page(176)"> Superposition Rules for Dependent Sources </a>
</ul> <li><a href="javascript:goto_page(182)"> Th\'e}venin's Theorem and Norton's Theorem </a>
<ul> <li><a href="javascript:goto_page(182)"> The Th\'e}venin Equivalent Network </a>
<li><a href="javascript:goto_page(192)"> The Norton Equivalent Network </a>
<li><a href="javascript:goto_page(195)"> More Examples </a>
</ul> <li><a href="javascript:goto_page(201)"> Summary </a>
</ul> <li><a href="javascript:goto_page(143)"> 3 Network Theorems 119 </a>
<ul> <li><a href="javascript:goto_page(143)"> 3.1 Introduction 119 </a>
<li><a href="javascript:goto_page(143)"> 3.2 The Node Voltage 119 </a>
<li><a href="javascript:goto_page(149)"> 3.3 The Node Method 125 </a>
<ul> <li><a href="javascript:goto_page(154)"> 3.3.1 Node Method: A Second Example 130 </a>
<li><a href="javascript:goto_page(159)"> 3.3.2 Floating Independent Voltage Sources 135 </a>
<li><a href="javascript:goto_page(163)"> 3.3.3 Dependent Sources and the Node Method 139 </a>
<li><a href="javascript:goto_page(169)"> 3.3.4 The Conductance and Source Matrices * 145 </a>
</ul> <li><a href="javascript:goto_page(169)"> 3.4 Loop Method * 145 </a>
<li><a href="javascript:goto_page(169)"> 3.5 Superposition 145 </a>
<ul> <li><a href="javascript:goto_page(176)"> 3.5.1 Superposition Rules for Dependent Sources 152 </a>
</ul> <li><a href="javascript:goto_page(182)"> 3.6 Thevenin's Theorem and Norton's Theorem 158 </a>
<ul> <li><a href="javascript:goto_page(182)"> 3.6.1 The Thevenin Equivalent Network 158 </a>
<li><a href="javascript:goto_page(192)"> 3.6.2 The Norton Equivalent Network 168 </a>
<li><a href="javascript:goto_page(195)"> 3.6.3 More Examples 171 </a>
</ul> <li><a href="javascript:goto_page(201)"> 3.7 Summary 177 </a>
</ul> <li><a href="javascript:goto_page(217)"> Analysis of Nonlinear Circuits </a>
<ul> <li><a href="javascript:goto_page(217)"> Introduction to Nonlinear Elements </a>
<li><a href="javascript:goto_page(221)"> Analytical Solutions </a>
<li><a href="javascript:goto_page(227)"> Graphical Analysis </a>
<li><a href="javascript:goto_page(230)"> Piecewise Linear Analysis </a>
<ul> <li><a href="javascript:goto_page(238)"> Improved Piecewise Linear Models for Nonlinear Elements * </a>
</ul> <li><a href="javascript:goto_page(238)"> Incremental Analysis </a>
<li><a href="javascript:goto_page(253)"> Summary </a>
</ul> <li><a href="javascript:goto_page(217)"> 4 Analysis of Nonlinear Circuits 193 </a>
<ul> <li><a href="javascript:goto_page(217)"> 4.1 Introduction to Nonlinear Elements 193 </a>
<li><a href="javascript:goto_page(221)"> 4.2 Analytical Solutions 197 </a>
<li><a href="javascript:goto_page(227)"> 4.3 Graphical Analysis 203 </a>
<li><a href="javascript:goto_page(230)"> 4.4 Piecewise Linear Analysis 206 </a>
<ul> <li><a href="javascript:goto_page(238)"> 4.4.1 Improved Piecewise Linear Models for Nonlinear Elements * 214 </a>
</ul> <li><a href="javascript:goto_page(238)"> 4.5 Incremental Analysis 214 </a>
<li><a href="javascript:goto_page(253)"> 4.6 Summary 229 </a>
</ul> <li><a href="javascript:goto_page(267)"> The Digital Abstraction </a>
<ul> <li><a href="javascript:goto_page(269)"> Voltage Levels and the Static Discipline </a>
<li><a href="javascript:goto_page(256+24)"> Boolean Logic </a>
<li><a href="javascript:goto_page(258+24)"> Combinational Gates </a>
<li><a href="javascript:goto_page(261+24)"> Standard Sum-of-Products Representation </a>
<li><a href="javascript:goto_page(262+24)"> Simplifying Logic Expressions * </a>
<li><a href="javascript:goto_page(267+24)"> Number Representation </a>
<li><a href="javascript:goto_page(274+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(267)"> 5 The Digital Abstraction 243 </a>
<ul> <li><a href="javascript:goto_page(269)"> 5.1 Voltage Levels and the Static Discipline 245 </a>
<li><a href="javascript:goto_page(256+24)"> 5.2 Boolean Logic 256 </a>
<li><a href="javascript:goto_page(258+24)"> 5.3 Combinational Gates 258 </a>
<li><a href="javascript:goto_page(261+24)"> 5.4 Standard Sum-of-Products Representation 261 </a>
<li><a href="javascript:goto_page(262+24)"> 5.5 Simplifying Logic Expressions * 262 </a>
<li><a href="javascript:goto_page(267+24)"> 5.6 Number Representation 267 </a>
<li><a href="javascript:goto_page(274+24)"> 5.7 Summary 274 </a>
</ul> <li><a href="javascript:goto_page(285+24)"> The MOSFET Switch </a>
<ul> <li><a href="javascript:goto_page(285+24)"> The Switch </a>
<li><a href="javascript:goto_page(288+24)"> Logic Functions Using Switches </a>
<li><a href="javascript:goto_page(298+24)"> The MOSFET Device and Its S Model </a>
<li><a href="javascript:goto_page(291+24)"> MOSFET Switch Implementation of Logic Gates </a>
<li><a href="javascript:goto_page(296+24)"> Static Analysis Using the S Model </a>
<li><a href="javascript:goto_page(300+24)"> The SR Model of the MOSFET </a>
<li><a href="javascript:goto_page(301+24)"> Physical Structure of the MOSFET $*$ </a>
<li><a href="javascript:goto_page(306+24)"> Static Analysis Using the SR Model </a>
<ul> <li><a href="javascript:goto_page(311+24)"> Static Analysis of the \it NAND} Gate Using the SR Model </a>
</ul> <li><a href="javascript:goto_page(314+24)"> Signal Restoration </a>
<ul> <li><a href="javascript:goto_page(314+24)"> Signal Restoration and Gain </a>
<li><a href="javascript:goto_page(317+24)"> Signal Restoration and Nonlinearity </a>
<li><a href="javascript:goto_page(318+24)"> Buffer Characteristics and the Static Discipline </a>
<li><a href="javascript:goto_page(319+24)"> Inverter Transfer Characteristics and the Static Discipline </a>
</ul> <li><a href="javascript:goto_page(320+24)"> Power Consumption in Logic Gates </a>
<li><a href="javascript:goto_page(321+24)"> Active Pullups </a>
<li><a href="javascript:goto_page(322+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(285+24)"> 6 The MOSFET Switch 285 </a>
<ul> <li><a href="javascript:goto_page(285+24)"> 6.1 The Switch 285 </a>
<li><a href="javascript:goto_page(288+24)"> 6.2 Logic Functions Using Switches 288 </a>
<li><a href="javascript:goto_page(298+24)"> 6.3 The MOSFET Device and Its S Model 298 </a>
<li><a href="javascript:goto_page(291+24)"> 6.4 MOSFET Switch Implementation of Logic Gates 291 </a>
<li><a href="javascript:goto_page(296+24)"> 6.5 Static Analysis Using the S Model 296 </a>
<li><a href="javascript:goto_page(300+24)"> 6.6 The SR Model of the MOSFET 300 </a>
<li><a href="javascript:goto_page(301+24)"> 6.7 Physical Structure of the MOSFET * 301 </a>
<li><a href="javascript:goto_page(306+24)"> 6.8 Static Analysis Using the SR Model 306 </a>
<ul> <li><a href="javascript:goto_page(311+24)"> 6.8.1 Static Analysis of the NAND Gate Using the SR Model 311 </a>
</ul> <li><a href="javascript:goto_page(314+24)"> 6.9 Signal Restoration 314 </a>
<ul> <li><a href="javascript:goto_page(314+24)"> 6.9.1 Signal Restoration and Gain 314 </a>
<li><a href="javascript:goto_page(317+24)"> 6.9.2 Signal Restoration and Nonlinearity 317 </a>
<li><a href="javascript:goto_page(318+24)"> 6.9.3 Buffer Characteristics and the Static Discipline 318 </a>
<li><a href="javascript:goto_page(319+24)"> 6.9.4 Inverter Transfer Characteristics and the Static Discipline 319 </a>
</ul> <li><a href="javascript:goto_page(320+24)"> 6.10 Power Consumption in Logic Gates 320 </a>
<li><a href="javascript:goto_page(321+24)"> 6.11 Active Pullups 321 </a>
<li><a href="javascript:goto_page(322+24)"> 6.12 Summary 322 </a>
</ul> <li><a href="javascript:goto_page(331+24)"> The MOSFET Amplifier </a>
<ul> <li><a href="javascript:goto_page(332+24)"> Signal Amplification </a>
<li><a href="javascript:goto_page(332+24)"> Review of Dependent Sources </a>
<li><a href="javascript:goto_page(335+24)"> Actual MOSFET Characteristics</a>
<li><a href="javascript:goto_page(340+24)"> The Switch Current Source (SCS) MOSFET Model </a>
<li><a href="javascript:goto_page(344+24)"> The MOSFET Amplifier </a>
<ul> <li><a href="javascript:goto_page(349+24)"> Biasing the MOSFET Amplifier </a>
<li><a href="javascript:goto_page(352+24)"> The Amplifier Abstraction and the Saturation Discipline </a>
</ul> <li><a href="javascript:goto_page(353+24)"> Large Signal Analysis of the MOSFET Amplifier </a>
<ul> <li><a href="javascript:goto_page(353+24)"> $v_IN}$ versus $v_OUT}$ in the Saturation Region </a>
<li><a href="javascript:goto_page(356+24)"> Valid Input and Output Voltage Ranges </a>
<li><a href="javascript:goto_page(363+24)"> Alternative Method for Valid Input and Output Voltage Ranges </a>z
</ul> <li><a href="javascript:goto_page(385+24)"> Operating Point Selection </a>
<li><a href="javascript:goto_page(386+24)"> Switch Unified (SU) MOSFET Model $*$ </a>
<li><a href="javascript:goto_page(389+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(331+24)"> 7 The MOSFET Amplifier 331 </a>
<ul> <li><a href="javascript:goto_page(332+24)"> 7.1 Signal Amplification 332 </a>
<li><a href="javascript:goto_page(332+24)"> 7.2 Review of Dependent Sources 332 </a>
<li><a href="javascript:goto_page(335+24)"> 7.3 Actual MOSFET Characteristics 335 </a>
<li><a href="javascript:goto_page(340+24)"> 7.4 The Switch Current Source (SCS) MOSFET Model 340 </a>
<li><a href="javascript:goto_page(344+24)"> 7.5 The MOSFET Amplifier 344 </a>
<ul> <li><a href="javascript:goto_page(349+24)"> 7.5.1 Biasing the MOSFET Amplifier 349 </a>
<li><a href="javascript:goto_page(352+24)"> 7.5.2 The Amplifier Abstraction and the Saturation Discipline 352 </a>
</ul> <li><a href="javascript:goto_page(353+24)"> 7.6 Large Signal Analysis of the MOSFET Amplifier 353 </a>
<ul> <li><a href="javascript:goto_page(353+24)"> 7.6.1 v_IN versus v_OUT in the Saturation Region 353 </a>
<li><a href="javascript:goto_page(356+24)"> 7.6.2 Valid Input and Output Voltage Ranges 356 </a>
<li><a href="javascript:goto_page(363+24)"> 7.6.3 Alternative Method for Valid Input and Output Voltage Ranges 363 </a>z
</ul> <li><a href="javascript:goto_page(385+24)"> 7.7 Operating Point Selection 385 </a>
<li><a href="javascript:goto_page(386+24)"> 7.8 Switch Unified (SU) MOSFET Model * 386 </a>
<li><a href="javascript:goto_page(389+24)"> 7.9 Summary 389 </a>
</ul> <li><a href="javascript:goto_page(405+24)"> The Small Signal Model </a>
<ul> <li><a href="javascript:goto_page(405+24)"> Overview of the Nonlinear MOSFET Amplifier </a>
<li><a href="javascript:goto_page(405+24)"> The Small Signal Model </a>
<ul> <li><a href="javascript:goto_page(413+24)"> Small Signal Circuit Representation </a>
<li><a href="javascript:goto_page(418+24)"> Small Signal Circuit for the MOSFET Amplifier </a>
<li><a href="javascript:goto_page(420+24)"> Selecting an Operating Point </a>
<li><a href="javascript:goto_page(423+24)"> Input and Output Resistance, Current and Power Gain </a>
</ul> <li><a href="javascript:goto_page(447+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(405+24)"> 8 The Small Signal Model 405 </a>
<ul> <li><a href="javascript:goto_page(405+24)"> 8.1 Overview of the Nonlinear MOSFET Amplifier 405 </a>
<li><a href="javascript:goto_page(405+24)"> 8.2 The Small Signal Model 405 </a>
<ul> <li><a href="javascript:goto_page(413+24)"> 8.2.1 Small Signal Circuit Representation 413 </a>
<li><a href="javascript:goto_page(418+24)"> 8.3.2 Small Signal Circuit for the MOSFET Amplifier 418 </a>
<li><a href="javascript:goto_page(420+24)"> 8.2.3 Selecting an Operating Point 420 </a>
<li><a href="javascript:goto_page(423+24)"> 8.2.4 Input and Output Resistance, Current and Power Gain 423 </a>
</ul> <li><a href="javascript:goto_page(447+24)"> 8.3 Summary 447 </a>
</ul> <li><a href="javascript:goto_page(457+24)"> Energy Storage Elements </a>
<ul> <li><a href="javascript:goto_page(461+24)"> Constitutive Laws </a>
<ul> <li><a href="javascript:goto_page(461+24)"> Capacitors </a>
<li><a href="javascript:goto_page(466+24)"> Inductors </a>
</ul> <li><a href="javascript:goto_page(470+24)"> Series \& Parallel Connections </a>
<ul> <li><a href="javascript:goto_page(471+24)"> Capacitors </a>
<li><a href="javascript:goto_page(472+24)"> Inductors </a>
</ul> <li><a href="javascript:goto_page(473+24)"> Special Examples </a>
<ul> <li><a href="javascript:goto_page(473+24)"> MOSFET Gate Capacitance </a>
<li><a href="javascript:goto_page(476+24)"> Wiring Loop Inductance </a>
<li><a href="javascript:goto_page(477+24)"> IC Wiring Capacitance and Inductance </a>
<li><a href="javascript:goto_page(478+24)"> Transformers * </a>
</ul> <li><a href="javascript:goto_page(480+24)"> Simple Circuit Examples </a>
<ul> <li><a href="javascript:goto_page(482+24)"> Sinusoidal Inputs * </a>
<li><a href="javascript:goto_page(482+24)"> Step Inputs </a>
<li><a href="javascript:goto_page(488+24)"> Impulse Inputs </a>
<li><a href="javascript:goto_page(489+24)"> Role Reversal$*$ </a>
</ul> <li><a href="javascript:goto_page(489+24)"> Energy, Charge and Flux Conservation </a>
<li><a href="javascript:goto_page(492+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(457+24)"> 9 Energy Storage Elements 457 </a>
<ul> <li><a href="javascript:goto_page(461+24)"> 1-Sep Constitutive Laws 461 </a>
<ul> <li><a href="javascript:goto_page(461+24)"> 9.1.1 Capacitors 461 </a>
<li><a href="javascript:goto_page(466+24)"> 9.1.2 Inductors 466 </a>
</ul> <li><a href="javascript:goto_page(470+24)"> 9.2 Series & Parallel Connections 470 </a>
<ul> <li><a href="javascript:goto_page(471+24)"> 9.2.1 Capacitors 471 </a>
<li><a href="javascript:goto_page(472+24)"> 9.2.2 Inductors 472 </a>
</ul> <li><a href="javascript:goto_page(473+24)"> 9.3 Special Examples 473 </a>
<ul> <li><a href="javascript:goto_page(473+24)"> 9.3.1 MOSFET Gate Capacitance 473 </a>
<li><a href="javascript:goto_page(476+24)"> 9.3.2 Wiring Loop Inductance 476 </a>
<li><a href="javascript:goto_page(477+24)"> 9.3.3 IC Wiring Capacitance and Inductance 477 </a>
<li><a href="javascript:goto_page(478+24)"> 9.3.4 Transformers * 478 </a>
</ul> <li><a href="javascript:goto_page(480+24)"> 9.4 Simple Circuit Examples 480 </a>
<ul> <li><a href="javascript:goto_page(482+24)"> 9.4.1 Sinusoidal Inputs * 482 </a>
<li><a href="javascript:goto_page(482+24)"> 9.4.2 Step Inputs 482 </a>
<li><a href="javascript:goto_page(488+24)"> 9.4.3 Impulse Inputs 488 </a>
<li><a href="javascript:goto_page(489+24)"> 9.4.4 Role Reversal * 489 </a>
</ul> <li><a href="javascript:goto_page(489+24)"> 9.5 Energy, Charge and Flux Conservation 489 </a>
<li><a href="javascript:goto_page(492+24)"> 9.6 Summary 492 </a>
</ul> <li><a href="javascript:goto_page(503+24)"> First-order Transients </a>
<ul> <li><a href="javascript:goto_page(504+24)"> Analysis of RC Circuits </a>
<ul> <li><a href="javascript:goto_page(504+24)"> Parallel RC Circuit, Step Input </a>
<li><a href="javascript:goto_page(509+24)"> RC Discharge Transient </a>
<li><a href="javascript:goto_page(511+24)"> Series RC Circuit, Step Input </a>
<li><a href="javascript:goto_page(515+24)"> Series RC Circuit, Square Wave Input </a>
</ul> <li><a href="javascript:goto_page(517+24)"> Analysis of RL Circuits </a>
<ul> <li><a href="javascript:goto_page(517+24)"> Series RL Circuit, Step Input </a>
</ul> <li><a href="javascript:goto_page(520+24)"> Intuitive Analysis </a>
<li><a href="javascript:goto_page(525+24)"> Propagation Delay and the Digital Abstraction </a>
<ul> <li><a href="javascript:goto_page(527+24)"> Definitions </a>
<li><a href="javascript:goto_page(529+24)"> Computing $t_pd}$ from the SRC MOSFET Model </a>
</ul> <li><a href="javascript:goto_page(538+24)"> State and State Variables * </a>
<ul> <li><a href="javascript:goto_page(538+24)"> The Concept of State </a>
<li><a href="javascript:goto_page(540+24)"> Computer Analysis using the State Equation </a>
<li><a href="javascript:goto_page(541+24)"> Zero-input and Zero-state Response </a>
<li><a href="javascript:goto_page(544+24)"> Solution by Integrating Factors* </a>
</ul> <li><a href="javascript:goto_page(545+24)"> Additional Examples </a>
<ul> <li><a href="javascript:goto_page(545+24)"> Effect of Wire Inductance in Digital Circuits </a>
<li><a href="javascript:goto_page(545+24)"> Ramp Inputs and Linearity </a>
<li><a href="javascript:goto_page(550+24)"> Response of an RC Circuit to Short Pulses and the Impulse Response </a>
<li><a href="javascript:goto_page(553+24)"> Intuitive Method for the Impulse Response </a>
<li><a href="javascript:goto_page(554+24)"> Clock Signals and Clock Fanout </a>
<li><a href="javascript:goto_page(558+24)"> RC Response to Decaying Exponential * </a>
<li><a href="javascript:goto_page(558+24)"> Series RL Circuit with Sinewave Input </a>
</ul> <li><a href="javascript:goto_page(561+24)"> Digital Memory </a>
<ul> <li><a href="javascript:goto_page(561+24)"> The Concept of Digital State </a>
<li><a href="javascript:goto_page(562+24)"> An Abstract Digital Memory Element </a>
<li><a href="javascript:goto_page(563+24)"> Design of the Digital Memory Element </a>
<li><a href="javascript:goto_page(567+24)"> A Static Memory Element </a>
</ul> <li><a href="javascript:goto_page(568+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(503+24)"> 10 First-order Transients 503 </a>
<ul> <li><a href="javascript:goto_page(504+24)"> 10.1.1 Analysis of RC Circuits 504 </a>
<ul> <li><a href="javascript:goto_page(504+24)"> 10.1.2 Parallel RC Circuit, Step Input 504 </a>
<li><a href="javascript:goto_page(509+24)"> 10.1.3 RC Discharge Transient 509 </a>
<li><a href="javascript:goto_page(511+24)"> 10.1.4 Series RC Circuit, Step Input 511 </a>
<li><a href="javascript:goto_page(515+24)"> 10.2 Series RC Circuit, Square Wave Input 515 </a>
</ul> <li><a href="javascript:goto_page(517+24)"> 10.2.1 Analysis of RL Circuits 517 </a>
<ul> <li><a href="javascript:goto_page(517+24)"> 10.3 Series RL Circuit, Step Input 517 </a>
</ul> <li><a href="javascript:goto_page(520+24)"> 10.4 Intuitive Analysis 520 </a>
<li><a href="javascript:goto_page(525+24)"> 10.4.1 Propagation Delay and the Digital Abstraction 525 </a>
<ul> <li><a href="javascript:goto_page(527+24)"> 10.4.2 Definitions 527 </a>
<li><a href="javascript:goto_page(529+24)"> 10.5 Computing t_pd from the SRC MOSFET Model 529 </a>
</ul> <li><a href="javascript:goto_page(538+24)"> 10.5.1 State and State Variables * 538 </a>
<ul> <li><a href="javascript:goto_page(538+24)"> 10.5.2 The Concept of State 538 </a>
<li><a href="javascript:goto_page(540+24)"> 10.5.3 Computer Analysis using the State Equation 540 </a>
<li><a href="javascript:goto_page(541+24)"> 10.5.4 Zero-input and Zero-state Response 541 </a>
<li><a href="javascript:goto_page(544+24)"> 10.6 Solution by Integrating Factors* 544 </a>
</ul> <li><a href="javascript:goto_page(545+24)"> 10.6.1 Additional Examples 545 </a>
<ul> <li><a href="javascript:goto_page(545+24)"> 10.6.2 Effect of Wire Inductance in Digital Circuits 545 </a>
<li><a href="javascript:goto_page(545+24)"> 10.6.3 Ramp Inputs and Linearity 545 </a>
<li><a href="javascript:goto_page(550+24)"> 10.6.4 Response of an RC Circuit to Short Pulses and the Impulse Response 550 </a>
<li><a href="javascript:goto_page(553+24)"> 10.6.5 Intuitive Method for the Impulse Response 553 </a>
<li><a href="javascript:goto_page(554+24)"> 10.6.6 Clock Signals and Clock Fanout 554 </a>
<li><a href="javascript:goto_page(558+24)"> 10.6.7 RC Response to Decaying Exponential * 558 </a>
<li><a href="javascript:goto_page(558+24)"> 10.7 Series RL Circuit with Sinewave Input 558 </a>
</ul> <li><a href="javascript:goto_page(561+24)"> 10.7.1 Digital Memory 561 </a>
<ul> <li><a href="javascript:goto_page(561+24)"> 10.7.2 The Concept of Digital State 561 </a>
<li><a href="javascript:goto_page(562+24)"> 10.7.3 An Abstract Digital Memory Element 562 </a>
<li><a href="javascript:goto_page(563+24)"> 10.7.4 Design of the Digital Memory Element 563 </a>
<li><a href="javascript:goto_page(567+24)"> 10.7.5 A Static Memory Element 567 </a>
</ul> <li><a href="javascript:goto_page(568+24)"> 10.8 Summary 568 </a>
</ul> <li><a href="javascript:goto_page(595+24)"> Energy and Power in Digital Circuits </a>
<ul> <li><a href="javascript:goto_page(595+24)"> Power and Energy Relations for a Simple RC Circuit </a>
<li><a href="javascript:goto_page(597+24)"> Average Power in an RC Circuit </a>
<ul> <li><a href="javascript:goto_page(599+24)"> Energy Dissipated during Interval $T_1$ </a>
<li><a href="javascript:goto_page(601+24)"> Energy Dissipated during Interval $T_2$ </a>
<li><a href="javascript:goto_page(603+24)"> Total Energy Dissipated </a>
</ul> <li><a href="javascript:goto_page(604+24)"> Power Dissipation in Logic Gates </a>
<ul> <li><a href="javascript:goto_page(604+24)"> Static Power Dissipation </a>
<li><a href="javascript:goto_page(605+24)"> Total Power Dissipation </a>
</ul> <li><a href="javascript:goto_page(611+24)"> NMOS Logic </a>
<li><a href="javascript:goto_page(611+24)"> CMOS Logic </a>
<ul> <li><a href="javascript:goto_page(616+24)"> CMOS Logic Gate Design </a>
</ul> <li><a href="javascript:goto_page(618+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(595+24)"> 11 Energy and Power in Digital Circuits 595 </a>
<ul> <li><a href="javascript:goto_page(595+24)"> 11.1 Power and Energy Relations for a Simple RC Circuit 595 </a>
<li><a href="javascript:goto_page(597+24)"> 11.2 Average Power in an RC Circuit 597 </a>
<ul> <li><a href="javascript:goto_page(599+24)"> 11.2.1 Energy Dissipated during Interval T_1 599 </a>
<li><a href="javascript:goto_page(601+24)"> 11.2.2 Energy Dissipated during Interval T_2 601 </a>
<li><a href="javascript:goto_page(603+24)"> 11.2.3 Total Energy Dissipated 603 </a>
</ul> <li><a href="javascript:goto_page(604+24)"> 11.3 Power Dissipation in Logic Gates 604 </a>
<ul> <li><a href="javascript:goto_page(604+24)"> 11.3.1 Static Power Dissipation 604 </a>
<li><a href="javascript:goto_page(605+24)"> 11.3.2 Total Power Dissipation 605 </a>
</ul> <li><a href="javascript:goto_page(611+24)"> 11.4 NMOS Logic 611 </a>
<li><a href="javascript:goto_page(611+24)"> 11.5 CMOS Logic 611 </a>
<ul> <li><a href="javascript:goto_page(616+24)"> 11.5.1 CMOS Logic Gate Design 616 </a>
</ul> <li><a href="javascript:goto_page(618+24)"> 11.6 Summary 618 </a>
</ul> <li><a href="javascript:goto_page(625+24)"> Transients in Second Order Circuits </a>
<ul> <li><a href="javascript:goto_page(627+24)"> Undriven LC Circuit </a>
<li><a href="javascript:goto_page(640+24)"> Undriven, Series RLC Circuit </a>
<ul> <li><a href="javascript:goto_page(644+24)"> Under-Damped Dynamics </a>
<li><a href="javascript:goto_page(648+24)"> Over-Damped Dynamics </a>
<li><a href="javascript:goto_page(649+24)"> Critically-Damped Dynamics </a>
</ul> <li><a href="javascript:goto_page(651+24)"> Stored Energy in Transient, Series RLC Circuit </a>
<li><a href="javascript:goto_page(654+24)"> Undriven, Parallel RLC Circuit * </a>
<ul> <li><a href="javascript:goto_page(654+24)"> Under-Damped Dynamics </a>
<li><a href="javascript:goto_page(654+24)"> Over-Damped Dynamics </a>
<li><a href="javascript:goto_page(654+24)"> Critically-Damped Dynamics </a>
</ul> <li><a href="javascript:goto_page(654+24)"> Driven, Series RLC Circuit </a>
<ul> <li><a href="javascript:goto_page(657+24)"> Step Response </a>
<li><a href="javascript:goto_page(661+24)"> Impulse Response * </a>
</ul> <li><a href="javascript:goto_page(678+24)"> Driven, Parallel RLC Circuit * </a>
<ul> <li><a href="javascript:goto_page(678+24)"> Step Response </a>
<li><a href="javascript:goto_page(678+24)"> Impulse Response </a>
</ul> <li><a href="javascript:goto_page(678+24)"> Intuitive Analysis of Second-Order Circuits </a>
<li><a href="javascript:goto_page(684+24)"> Two-Capacitor Or Two-Inductor Circuits </a>
<li><a href="javascript:goto_page(689+24)"> State-Variable Method * </a>
<li><a href="javascript:goto_page(691+24)"> State-Space Analysis * </a>
<ul> <li><a href="javascript:goto_page(691+24)"> Numerical Solution * </a>
</ul> <li><a href="javascript:goto_page(691+24)"> Higher-Order Circuits* </a>
<li><a href="javascript:goto_page(692+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(625+24)"> 12 Transients in Second Order Circuits 625 </a>
<ul> <li><a href="javascript:goto_page(627+24)"> 12.1 Undriven LC Circuit 627 </a>
<li><a href="javascript:goto_page(640+24)"> 12.2 Undriven, Series RLC Circuit 640 </a>
<ul> <li><a href="javascript:goto_page(644+24)"> 12.2.1 Under-Damped Dynamics 644 </a>
<li><a href="javascript:goto_page(648+24)"> 12.2.2 Over-Damped Dynamics 648 </a>
<li><a href="javascript:goto_page(649+24)"> 12.2.3 Critically-Damped Dynamics 649 </a>
</ul> <li><a href="javascript:goto_page(651+24)"> 12.3 Stored Energy in Transient, Series RLC Circuit 651 </a>
<li><a href="javascript:goto_page(654+24)"> 12.4 Undriven, Parallel RLC Circuit * 654 </a>
<ul> <li><a href="javascript:goto_page(654+24)"> 12.4.1 Under-Damped Dynamics 654 </a>
<li><a href="javascript:goto_page(654+24)"> 12.4.2 Over-Damped Dynamics 654 </a>
<li><a href="javascript:goto_page(654+24)"> 12.4.3 Critically-Damped Dynamics 654 </a>
</ul> <li><a href="javascript:goto_page(654+24)"> 12.5 Driven, Series RLC Circuit 654 </a>
<ul> <li><a href="javascript:goto_page(657+24)"> 12.5.1 Step Response 657 </a>
<li><a href="javascript:goto_page(661+24)"> 12.5.2 Impulse Response * 661 </a>
</ul> <li><a href="javascript:goto_page(678+24)"> 12.6 Driven, Parallel RLC Circuit * 678 </a>
<ul> <li><a href="javascript:goto_page(678+24)"> 12.6.1 Step Response 678 </a>
<li><a href="javascript:goto_page(678+24)"> 12.6.2 Impulse Response 678 </a>
</ul> <li><a href="javascript:goto_page(678+24)"> 12.7 Intuitive Analysis of Second-Order Circuits 678 </a>
<li><a href="javascript:goto_page(684+24)"> 12.8 Two-Capacitor Or Two-Inductor Circuits 684 </a>
<li><a href="javascript:goto_page(689+24)"> 12.9 State-Variable Method * 689 </a>
<li><a href="javascript:goto_page(691+24)"> 12.10 State-Space Analysis * 691 </a>
<ul> <li><a href="javascript:goto_page(691+24)"> 12.10.1 Numerical Solution * 691 </a>
</ul> <li><a href="javascript:goto_page(691+24)"> 12.11 Higher-Order Circuits* 691 </a>
<li><a href="javascript:goto_page(692+24)"> 12.12 Summary 692 </a>
</ul> <li><a href="javascript:goto_page(703+24)"> Sinusoidal Steady State </a>
<ul> <li><a href="javascript:goto_page(703+24)"> Introduction </a>
<li><a href="javascript:goto_page(706+24)"> Analysis using Complex Exponential Drive </a>
<ul> <li><a href="javascript:goto_page(706+24)"> Homogeneous Solution </a>
<li><a href="javascript:goto_page(707+24)"> Particular Solution </a>
<li><a href="javascript:goto_page(710+24)"> Complete Solution </a>
<li><a href="javascript:goto_page(710+24)"> Sinusoidal Steady State Response </a>
</ul> <li><a href="javascript:goto_page(712+24)"> The Boxes: Impedance </a>
<ul> <li><a href="javascript:goto_page(718+24)"> Example: Series RL Circuit </a>
<li><a href="javascript:goto_page(722+24)"> Example: Another RC Circuit </a>
<li><a href="javascript:goto_page(724+24)"> Example: RC Circuit with Two Capacitors </a>
<li><a href="javascript:goto_page(729+24)"> Example: Analysis of Small Signal Amplifier with Capacitive Load </a>
</ul> <li><a href="javascript:goto_page(731+24)"> Frequency Response: Magnitude/Phase vs. Frequency </a>
<ul> <li><a href="javascript:goto_page(732+24)"> Frequency Response of Capacitors, Inductor </a>
<li><a href="javascript:goto_page(737+24)"> Intuitively Sketching th </a>
<li><a href="javascript:goto_page(741+24)"> The Bode Plot: Sketching the Frequency Response of General Functions * </a>
</ul> <li><a href="javascript:goto_page(742+24)"> Filters </a>
<ul> <li><a href="javascript:goto_page(744+24)"> Filter Design Example: Crossover Network </a>
<li><a href="javascript:goto_page(746+24)"> Decoupling Amplifier Stages </a>
</ul> <li><a href="javascript:goto_page(751+24)"> Time Domain </a>
<ul> <li><a href="javascript:goto_page(751+24)"> Frequency Domain Analysis </a>
<li><a href="javascript:goto_page(754+24)"> Time Domain Analysis </a>
<li><a href="javascript:goto_page(756+24)"> Comparing Time Domain and Frequency Domain Analyses </a>
</ul> <li><a href="javascript:goto_page(757+24)"> Power and Energy in an Impedance </a>
<ul> <li><a href="javascript:goto_page(758+24)"> Arbitrary Impedance </a>
<li><a href="javascript:goto_page(760+24)"> Pure Resistance </a>
<li><a href="javascript:goto_page(761+24)"> Pure Reactance </a>
<li><a href="javascript:goto_page(763+24)"> Example: Power in an RC Circuit </a>
</ul> <li><a href="javascript:goto_page(765+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(703+24)"> 13 Sinusoidal Steady State 703 </a>
<ul> <li><a href="javascript:goto_page(703+24)"> 13.1 Introduction 703 </a>
<li><a href="javascript:goto_page(706+24)"> 13.2 Analysis using Complex Exponential Drive 706 </a>
<ul> <li><a href="javascript:goto_page(706+24)"> 13.2.1 Homogeneous Solution 706 </a>
<li><a href="javascript:goto_page(707+24)"> 13.2.2 Particular Solution 707 </a>
<li><a href="javascript:goto_page(710+24)"> 13.2.3 Complete Solution 710 </a>
<li><a href="javascript:goto_page(710+24)"> 13.2.4 Sinusoidal Steady State Response 710 </a>
</ul> <li><a href="javascript:goto_page(712+24)"> 13.3 The Boxes: Impedance 712 </a>
<ul> <li><a href="javascript:goto_page(718+24)"> 13.3.1 Example: Series RL Circuit 718 </a>
<li><a href="javascript:goto_page(722+24)"> 13.3.2 Example: Another RC Circuit 722 </a>
<li><a href="javascript:goto_page(724+24)"> 13.3.3 Example: RC Circuit with Two Capacitors 724 </a>
<li><a href="javascript:goto_page(729+24)"> 13.3.4 Example: Analysis of Small Signal Amplifier with Capacitive Load 729 </a>
</ul> <li><a href="javascript:goto_page(731+24)"> 13.4 Frequency Response: Magnitude/Phase vs. Frequency 731 </a>
<ul> <li><a href="javascript:goto_page(732+24)"> 13.4.1 Frequency Response of Capacitors, Inductor 732 </a>
<li><a href="javascript:goto_page(737+24)"> 13.4.2 Intuitively Sketching th 737 </a>
<li><a href="javascript:goto_page(741+24)"> 13.4.3 The Bode Plot: Sketching the Frequency Response of General Functions * 741 </a>
</ul> <li><a href="javascript:goto_page(742+24)"> 13.5 Filters 742 </a>
<ul> <li><a href="javascript:goto_page(744+24)"> 13.5.1 Filter Design Example: Crossover Network 744 </a>
<li><a href="javascript:goto_page(746+24)"> 13.5.2 Decoupling Amplifier Stages 746 </a>
</ul> <li><a href="javascript:goto_page(751+24)"> 13.6 Time Domain 751 </a>
<ul> <li><a href="javascript:goto_page(751+24)"> 13.6.1 Frequency Domain Analysis 751 </a>
<li><a href="javascript:goto_page(754+24)"> 13.6.2 Time Domain Analysis 754 </a>
<li><a href="javascript:goto_page(756+24)"> 13.6.3 Comparing Time Domain and Frequency Domain Analyses 756 </a>
</ul> <li><a href="javascript:goto_page(757+24)"> 13.7 Power and Energy in an Impedance 757 </a>
<ul> <li><a href="javascript:goto_page(758+24)"> 13.7.1 Arbitrary Impedance 758 </a>
<li><a href="javascript:goto_page(760+24)"> 13.7.2 Pure Resistance 760 </a>
<li><a href="javascript:goto_page(761+24)"> 13.7.3 Pure Reactance 761 </a>
<li><a href="javascript:goto_page(763+24)"> 13.7.4 Example: Power in an RC Circuit 763 </a>
</ul> <li><a href="javascript:goto_page(765+24)"> 13.8 Summary 765 </a>
</ul> <li><a href="javascript:goto_page(777+24)"> Sinusoidal Steady State: Resonance </a>
<ul> <li><a href="javascript:goto_page(777+24)"> Parallel RLC, Sinusoidal Response </a>
<ul> <li><a href="javascript:goto_page(778+24)"> Homogeneous Solution </a>
<li><a href="javascript:goto_page(780+24)"> Particular Solution </a>
<li><a href="javascript:goto_page(781+24)"> Total Solution for the Parallel RLC Circuit </a>
</ul> <li><a href="javascript:goto_page(783+24)"> Frequency Response for Resonant Systems </a>
<ul> <li><a href="javascript:goto_page(792+24)"> The Resonant Region of the Frequency Response </a>
</ul> <li><a href="javascript:goto_page(801+24)"> Series RLC </a>
<li><a href="javascript:goto_page(808+24)"> The Bode Plot for Resonant Functions * </a>
<li><a href="javascript:goto_page(808+24)"> Filter Examples </a>
<ul> <li><a href="javascript:goto_page(809+24)"> Bandpass Filter </a>
<li><a href="javascript:goto_page(810+24)"> Lowpass Filter </a>
<li><a href="javascript:goto_page(812+24)"> Highpass Filter </a>
<li><a href="javascript:goto_page(815+24)"> Notch Filter </a>
</ul> <li><a href="javascript:goto_page(816+24)"> Stored Energy in a Resonant Circuit </a>
<li><a href="javascript:goto_page(821+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(777+24)"> 14 Sinusoidal Steady State: Resonance 777 </a>
<ul> <li><a href="javascript:goto_page(777+24)"> 14.1 Parallel RLC, Sinusoidal Response 777 </a>
<ul> <li><a href="javascript:goto_page(778+24)"> 14.1.1 Homogeneous Solution 778 </a>
<li><a href="javascript:goto_page(780+24)"> 14.1.2 Particular Solution 780 </a>
<li><a href="javascript:goto_page(781+24)"> 14.1.3 Total Solution for the Parallel RLC Circuit 781 </a>
</ul> <li><a href="javascript:goto_page(783+24)"> 14.2 Frequency Response for Resonant Systems 783 </a>
<ul> <li><a href="javascript:goto_page(792+24)"> 14.2.1 The Resonant Region of the Frequency Response 792 </a>
</ul> <li><a href="javascript:goto_page(801+24)"> 14.3 Series RLC 801 </a>
<li><a href="javascript:goto_page(808+24)"> 14.4 The Bode Plot for Resonant Functions * 808 </a>
<li><a href="javascript:goto_page(808+24)"> 14.5 Filter Examples 808 </a>
<ul> <li><a href="javascript:goto_page(809+24)"> 14.5.1 Bandpass Filter 809 </a>
<li><a href="javascript:goto_page(810+24)"> 14.5.2 Lowpass Filter 810 </a>
<li><a href="javascript:goto_page(812+24)"> 14.5.3 Highpass Filter 812 </a>
<li><a href="javascript:goto_page(815+24)"> 14.5.4 Notch Filter 815 </a>
</ul> <li><a href="javascript:goto_page(816+24)"> 14.6 Stored Energy in a Resonant Circuit 816 </a>
<li><a href="javascript:goto_page(821+24)"> 14.7 Summary 821 </a>
</ul> <li><a href="javascript:goto_page(837+24)"> The Operational Amplifier Abstraction </a>
<ul> <li><a href="javascript:goto_page(837+24)"> Introduction </a>
<ul> <li><a href="javascript:goto_page(838+24)"> Historical Perspective </a>
</ul> <li><a href="javascript:goto_page(839+24)"> Device Properties of the Operational Amplifier </a>
<ul> <li><a href="javascript:goto_page(839+24)"> The Op Amp Model </a>
</ul> <li><a href="javascript:goto_page(842+24)"> Simple Op Amp Circuits </a>
<ul> <li><a href="javascript:goto_page(842+24)"> The Non-inverting Op Amp </a>
<li><a href="javascript:goto_page(844+24)"> A Second Example: The Inverting Connection </a>
<li><a href="javascript:goto_page(846+24)"> Sensitivity </a>
<li><a href="javascript:goto_page(847+24)"> A Special Case: The Voltage Follower </a>
<li><a href="javascript:goto_page(848+24)"> An Additional Constraint: $v^+ - v^- \simeq 0$ </a>
</ul> <li><a href="javascript:goto_page(849+24)"> Input and Output Resistances </a>
<ul> <li><a href="javascript:goto_page(849+24)"> Output Resistance, Inverting Op Amp </a>
<li><a href="javascript:goto_page(851+24)"> Input Resistance, Inverting Connection </a>
<li><a href="javascript:goto_page(853+24)"> Input and Output R for Non-Inverting Op Amp </a>
<li><a href="javascript:goto_page(855+24)"> Generalization on Input Resistance * </a>
<li><a href="javascript:goto_page(855+24)"> Example: Op Amp Current Source </a>
</ul> <li><a href="javascript:goto_page(857+24)"> Additional Examples </a>
<ul> <li><a href="javascript:goto_page(858+24)"> Adder </a>
<li><a href="javascript:goto_page(858+24)"> Subtracter </a>
</ul> <li><a href="javascript:goto_page(859+24)"> Op Amp RC Circuits </a>
<ul> <li><a href="javascript:goto_page(859+24)"> Op Amp Integrator </a>
<li><a href="javascript:goto_page(862+24)"> Op Amp Differentiator </a>
<li><a href="javascript:goto_page(863+24)"> An RC Active Filter </a>
<li><a href="javascript:goto_page(865+24)"> The RC Active Filter -- Impedance Analysis </a>
<li><a href="javascript:goto_page(866+24)"> Sallen-Key Filter </a>
</ul> <li><a href="javascript:goto_page(866+24)"> Op Amp in Saturation </a>
<ul> <li><a href="javascript:goto_page(867+24)"> Op Amp Integrator in Saturation </a>
</ul> <li><a href="javascript:goto_page(869+24)"> Positive Feedback </a>
<ul> <li><a href="javascript:goto_page(869+24)"> RC Oscillator </a>
</ul> <li><a href="javascript:goto_page(872+24)"> Two-ports* </a>
<li><a href="javascript:goto_page(873+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(837+24)"> 15 The Operational Amplifier Abstraction 837 </a>
<ul> <li><a href="javascript:goto_page(837+24)"> 15.1 Introduction 837 </a>
<ul> <li><a href="javascript:goto_page(838+24)"> 15.1.1 Historical Perspective 838 </a>
</ul> <li><a href="javascript:goto_page(839+24)"> 15.2 Device Properties of the Operational Amplifier 839 </a>
<ul> <li><a href="javascript:goto_page(839+24)"> 15.2 The Op Amp Model 839 </a>
</ul> <li><a href="javascript:goto_page(842+24)"> 15.3 Simple Op Amp Circuits 842 </a>
<ul> <li><a href="javascript:goto_page(842+24)"> 15.3.1 The Non-inverting Op Amp 842 </a>
<li><a href="javascript:goto_page(844+24)"> 15.3.2 A Second Example: The Inverting Connection 844 </a>
<li><a href="javascript:goto_page(846+24)"> 15.3.3 Sensitivity 846 </a>
<li><a href="javascript:goto_page(847+24)"> 15.3.4 A Special Case: The Voltage Follower 847 </a>
<li><a href="javascript:goto_page(848+24)"> 15.3.5 An Additional Constraint: v+ - v- ~ 0 848 </a>
</ul> <li><a href="javascript:goto_page(849+24)"> 15.4 Input and Output Resistances 849 </a>
<ul> <li><a href="javascript:goto_page(849+24)"> 15.4.1 Output Resistance, Inverting Op Amp 849 </a>
<li><a href="javascript:goto_page(851+24)"> 15.4.2 Input Resistance, Inverting Connection 851 </a>
<li><a href="javascript:goto_page(853+24)"> 15.4.3 Input and Output R for Non-Inverting Op Amp 853 </a>
<li><a href="javascript:goto_page(855+24)"> 15.4.4 Generalization on Input Resistance * 855 </a>
<li><a href="javascript:goto_page(855+24)"> 15.4.5 Example: Op Amp Current Source 855 </a>
</ul> <li><a href="javascript:goto_page(857+24)"> 15.5 Additional Examples 857 </a>
<ul> <li><a href="javascript:goto_page(858+24)"> 15.5.1 Adder 858 </a>
<li><a href="javascript:goto_page(858+24)"> 15.5.2 Subtracter 858 </a>
</ul> <li><a href="javascript:goto_page(859+24)"> 15.6 Op Amp RC Circuits 859 </a>
<ul> <li><a href="javascript:goto_page(859+24)"> 15.6.1 Op Amp Integrator 859 </a>
<li><a href="javascript:goto_page(862+24)"> 15.6.2 Op Amp Differentiator 862 </a>
<li><a href="javascript:goto_page(863+24)"> 15.6.3 An RC Active Filter 863 </a>
<li><a href="javascript:goto_page(865+24)"> 15.6.4 The RC Active Filter -- Impedance Analysis 865 </a>
<li><a href="javascript:goto_page(866+24)"> 15.6.5 Sallen-Key Filter 866 </a>
</ul> <li><a href="javascript:goto_page(866+24)"> 15.7 Op Amp in Saturation 866 </a>
<ul> <li><a href="javascript:goto_page(867+24)"> 15.7.1 Op Amp Integrator in Saturation 867 </a>
</ul> <li><a href="javascript:goto_page(869+24)"> 15.8 Positive Feedback 869 </a>
<ul> <li><a href="javascript:goto_page(869+24)"> 15.8.1 RC Oscillator 869 </a>
</ul> <li><a href="javascript:goto_page(872+24)"> 15.9 Two-ports* 872 </a>
<li><a href="javascript:goto_page(873+24)"> 15.10 Summary 873 </a>
</ul> <li><a href="javascript:goto_page(905+24)"> Diodes </a>
<ul> <li><a href="javascript:goto_page(905+24)"> Introduction </a>
<li><a href="javascript:goto_page(905+24)"> Semiconductor Diode Characteristics </a>
<li><a href="javascript:goto_page(908+24)"> Analysis of Diode Circuits </a>
<ul> <li><a href="javascript:goto_page(908+24)"> Method of Assumed States </a>
</ul> <li><a href="javascript:goto_page(912+24)"> Nonlinear Analysis with RL and RC </a>
<ul> <li><a href="javascript:goto_page(912+24)"> Peak Detector</a>
<li><a href="javascript:goto_page(915+24)"> Example: Clamping Circuit </a>
<li><a href="javascript:goto_page(918+24)"> A Switched Power Supply Using a Diode </a>
</ul> <li><a href="javascript:goto_page(918+24)"> Additional Examples </a>
<ul> <li><a href="javascript:goto_page(918+24)"> Piecewise Linear Example: Clipping Circuit </a>
<li><a href="javascript:goto_page(918+24)"> Exponentiation Circuit </a>
<li><a href="javascript:goto_page(918+24)"> Piecewise Linear Example: Limiter </a>
<li><a href="javascript:goto_page(918+24)"> Example: Full-Wave Diode Bridge </a>
<li><a href="javascript:goto_page(918+24)"> Incremental Example: Zener Diode Regulator </a>
<li><a href="javascript:goto_page(918+24)"> Incremental Example: Diode Attenuator </a>
</ul> <li><a href="javascript:goto_page(919+24)"> Summary </a>
</ul> <li><a href="javascript:goto_page(905+24)"> 16 Diodes 905 </a>
<ul> <li><a href="javascript:goto_page(905+24)"> 16.1 Introduction 905 </a>
<li><a href="javascript:goto_page(905+24)"> 16.2 Semiconductor Diode Characteristics 905 </a>
<li><a href="javascript:goto_page(908+24)"> 16.3 Analysis of Diode Circuits 908 </a>
<ul> <li><a href="javascript:goto_page(908+24)"> 16.3.1 Method of Assumed States 908 </a>
</ul> <li><a href="javascript:goto_page(912+24)"> 16.4 Nonlinear Analysis with RL and RC 912 </a>
<ul> <li><a href="javascript:goto_page(912+24)"> 16.4.1 Peak Detector 912 </a>
<li><a href="javascript:goto_page(915+24)"> 16.4.2 Example: Clamping Circuit 915 </a>
<li><a href="javascript:goto_page(918+24)"> 16.4.3 A Switched Power Supply Using a Diode 918 </a>
</ul> <li><a href="javascript:goto_page(918+24)"> 16.5 Additional Examples 918 </a>
<ul> <li><a href="javascript:goto_page(918+24)"> 16.5.1 Piecewise Linear Example: Clipping Circuit 918 </a>
<li><a href="javascript:goto_page(918+24)"> 16.5.2 Exponentiation Circuit 918 </a>
<li><a href="javascript:goto_page(918+24)"> 16.5.3 Piecewise Linear Example: Limiter 918 </a>
<li><a href="javascript:goto_page(918+24)"> 16.5.4 Example: Full-Wave Diode Bridge 918 </a>
<li><a href="javascript:goto_page(918+24)"> 16.5.5 Incremental Example: Zener Diode Regulator 918 </a>
<li><a href="javascript:goto_page(918+24)"> 16.5.6 Incremental Example: Diode Attenuator 918 </a>
</ul> <li><a href="javascript:goto_page(919+24)"> 16.6 Summary 919 </a>
</ul> <li><a href="javascript:goto_page(927+24)"> Maxwell's Equations and the LMD </a>
<ul> <li><a href="javascript:goto_page(927+24)"> The Lumped Matter Discipline </a>
<ul> <li><a href="javascript:goto_page(927+24)"> The First Constraint of the Lumped Matter Discipline </a>
<li><a href="javascript:goto_page(930+24)"> The Second Constraint of the Lumped Matter Discipline </a>
<li><a href="javascript:goto_page(932+24)"> The Third Constraint of the Lumped Matter Discipline </a>
<li><a href="javascript:goto_page(933+24)"> The Lumped Matter Discipline Applied to Circuits </a>
</ul> <li><a href="javascript:goto_page(934+24)"> Deriving Kirchhoff's Laws </a>
<li><a href="javascript:goto_page(936+24)"> Deriving the Resistance of a Piece of Material </a>
</ul> <li><a href="javascript:goto_page(941+24)"> Trigonometric Functions \& Identities </a>
<ul> <li><a href="javascript:goto_page(941+24)"> Negative Arguments </a>
<li><a href="javascript:goto_page(942+24)"> Phase-Shifted Arguments </a>
<li><a href="javascript:goto_page(942+24)"> Sum and Difference Arguments </a>
<li><a href="javascript:goto_page(943+24)"> Products </a>
<li><a href="javascript:goto_page(943+24)"> Half-Angle \& Twice-Angle Arguments </a>
<li><a href="javascript:goto_page(943+24)"> Squares </a>
<li><a href="javascript:goto_page(943+24)"> Miscellaneous </a>
<li><a href="javascript:goto_page(944+24)"> Taylor Series Expansions </a>
<li><a href="javascript:goto_page(944+24)"> Relations to $e^j\theta}$ </a>
</ul> <li><a href="javascript:goto_page(947+24)"> Complex Numbers </a>
<ul> <li><a href="javascript:goto_page(947+24)"> Magnitude and Phase</a>
<li><a href="javascript:goto_page(948+24)"> Polar Representation </a>
<li><a href="javascript:goto_page(949+24)"> Addition and Subtraction </a>
<li><a href="javascript:goto_page(949+24)"> Multiplication and Division </a>
<li><a href="javascript:goto_page(950+24)"> Complex Conjugate </a>
<li><a href="javascript:goto_page(951+24)"> Properties of $e^j\theta}$ </a>
<li><a href="javascript:goto_page(951+24)"> Rotation </a>
<li><a href="javascript:goto_page(952+24)"> Complex Functions of Time </a>
<li><a href="javascript:goto_page(952+24)"> Numerical Examples </a>
</ul> <li><a href="javascript:goto_page(957+24)"> Solving Simultaneous Linear Equations </a>
</ul> <li><a href="javascript:goto_page(927+24)"> A1 Maxwell's Equations and the LMD 927 </a>
<ul> <li><a href="javascript:goto_page(927+24)"> A.1 The Lumped Matter Discipline 927 </a>
<ul> <li><a href="javascript:goto_page(927+24)"> A.1.1 The First Constraint of the Lumped Matter Discipline 927 </a>
<li><a href="javascript:goto_page(930+24)"> A.1.2 The Second Constraint of the Lumped Matter Discipline 930 </a>
<li><a href="javascript:goto_page(932+24)"> A.1.3 The Third Constraint of the Lumped Matter Discipline 932 </a>
<li><a href="javascript:goto_page(933+24)"> A.1.4 The Lumped Matter Discipline Applied to Circuits 933 </a>
</ul> <li><a href="javascript:goto_page(934+24)"> A.2 Deriving Kirchhoff's Laws 934 </a>
<li><a href="javascript:goto_page(936+24)"> A.3 Deriving the Resistance of a Piece of Material 936 </a>
</ul> <li><a href="javascript:goto_page(941+24)"> B Trigonometric Functions & Identities 941 </a>
<ul> <li><a href="javascript:goto_page(941+24)"> B.1 Negative Arguments 941 </a>
<li><a href="javascript:goto_page(942+24)"> B.2 Phase-Shifted Arguments 942 </a>
<li><a href="javascript:goto_page(942+24)"> B.3 Sum and Difference Arguments 942 </a>
<li><a href="javascript:goto_page(943+24)"> B.4 Products 943 </a>
<li><a href="javascript:goto_page(943+24)"> B.5 Half-Angle & Twice-Angle Arguments 943 </a>
<li><a href="javascript:goto_page(943+24)"> B.6 Squares 943 </a>
<li><a href="javascript:goto_page(943+24)"> B.7 Miscellaneous 943 </a>
<li><a href="javascript:goto_page(944+24)"> B.8 Taylor Series Expansions 944 </a>
<li><a href="javascript:goto_page(944+24)"> B.9 Relations to e^j\theta 944 </a>
</ul> <li><a href="javascript:goto_page(947+24)"> C Complex Numbers 947 </a>
<ul> <li><a href="javascript:goto_page(947+24)"> C.1 Magnitude and Phase 947 </a>
<li><a href="javascript:goto_page(948+24)"> C.2 Polar Representation 948 </a>
<li><a href="javascript:goto_page(949+24)"> C.3 Addition and Subtraction 949 </a>
<li><a href="javascript:goto_page(949+24)"> C.4 Multiplication and Division 949 </a>
<li><a href="javascript:goto_page(950+24)"> C.5 Complex Conjugate 950 </a>
<li><a href="javascript:goto_page(951+24)"> C.6 Properties of e^j\theta 951 </a>
<li><a href="javascript:goto_page(951+24)"> C.7 Rotation 951 </a>
<li><a href="javascript:goto_page(952+24)"> C.8 Complex Functions of Time 952 </a>
<li><a href="javascript:goto_page(952+24)"> C.9 Numerical Examples 952 </a>
</ul> <li><a href="javascript:goto_page(957+24)"> D Solving Simultaneous Linear Equations 957 </a>
<li><a href="javascript:goto_page(959+24)"> Answers to Selected Problems 959 </a>
<li><a href="javascript:goto_page(971+24)"> Figure Acknowledgments 971 </a>
<li><a href="javascript:goto_page(973+24)"> Index 973 </a>
<%inherit file="main.html" />
<%block name="js_extra">
<!-- TODO: http://docs.jquery.com/Plugins/Validation -->
<script type="text/javascript">
$(function() {
${init}
// Show and hide sidebar
var acc_hidden=false;
$('#hide_acc').click(function() {
if(acc_hidden) {
$('#accordion').show();
$('#acc_td').attr("width","320");
$('#hide_acc').html("&lt;<br>&lt;<br>&lt;");
acc_hidden=false;
} else {
$('#accordion').hide();
$('#acc_td').attr("width","0");
$('#hide_acc').html("&gt;<br>&gt;<br>&gt;");
acc_hidden=true;
}
});
});
</script>
</%block>
<%include file="navigation.html" args="active_page='courseware'" />
<section class="main-content">
<div class="course-wrapper">
<section class="course-index">
<div id="open_close_accordion">
<header id="open_close_accordion">
<h2>Courseware Index</h2>
<a href="#">close</a>
</div>
</header>
<div id="accordion">
${accordion}
......
......@@ -2,6 +2,9 @@
<div name="enroll_form" id="enroll_form">
<h1>Enroll in 6.002x Circuits &amp; Electronics</h1>
<p class="ie-warning"> Enrollment requires a modern web browser with JavaScript enabled. You don't have this. You can&rsquo;t enroll without upgrading, since you couldn&rsquo;t take the course without upgrading. Feel free to download the latest version of <a href="http://www.mozilla.org/en-US/firefox/new/">Mozilla Firefox</a> or <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=95346">Google Chrome</a>, for free, to enroll and take this course.</p>
<form name="enroll" id="enroll_form" method="get">
<fieldset><% if 'error' in locals(): e = error %>
......
../data/custom_tags
\ No newline at end of file
<%inherit file="marketing.html" />
<%block name="title">MITx 6.002x: Circuits & Electronics</%block>
<%block name="description">6.002x (Circuits and Electronics) is an experimental on-line adaptation of MIT's first undergraduate analog design course: 6.002.</%block>
<%block name="keywords">MITx, circuits, electronics, EECS, electrical engineering, analog circuits, digital circuits, online learning, MIT, online laboratory, education, learners, undergraduate, certificate</%block>
<%block name="header_text">
<section class="course">
<section>
<h1>Circuits &amp; Electronics</h1>
<h2>6.002x</h2>
<a class="enroll" rel="leanModal" href="#enroll">Enroll in 6.002x Circuits <span>&amp;</span> Electronics</a>
<a class="enroll" rel="leanModal" href="#enroll"><noscript>In order to</noscript> Enroll in 6.002x Circuits <span>&amp;</span> Electronics <noscript>you need to have javascript enabled</noscript></a>
</section>
<p>6.002x (Circuits and Electronics) is an experimental on-line adaptation of MIT&rsquo;s first undergraduate analog design course: 6.002. This course will run, free of charge, for students worldwide from March 5, 2012 through June 8, 2012.</p>
</section>
......@@ -48,7 +52,7 @@
</section>
<section class="cta">
<a class="enroll" rel="leanModal" href="#enroll">Enroll in 6.002x Circuits &amp; Electronics</a>
<a class="enroll" rel="leanModal" href="#enroll"><noscript>In order to</noscript> Enroll in 6.002x Circuits &amp; Electronics <noscript>you need to have javascript enabled</noscript></a>
</section>
</section>
......@@ -58,17 +62,17 @@
<ul>
<li>
<img src="/static/staff/agarwal-mit-news-small.jpg">
<img src="/static/staff/agarwal-mit-news-small.jpg" alt="Anant Agarwal">
<h2>Anant Agarwal</h2>
<p>Director of MIT&rsquo;s Computer Science and Artificial Intelligence Laboratory (CSAIL) and a professor of the Electrical Engineering and Computer Science department at MIT. His research focus is in parallel computer architectures and cloud software systems, and he is a founder of several successful startups, including Tilera, a company that produces scalable multicore processors. Prof. Agarwal won MIT&rsquo;s Smullin and Jamieson prizes for teaching and co-authored the course textbook &ldquo;Foundations of Analog and Digital Electronic Circuits.&rdquo;</p></li>
<li>
<img src="/static/staff/gjs-small.jpg">
<img src="/static/staff/gjs-small.jpg" alt="Gerald Sussman">
<h2>Gerald Sussman</h2>
<p>Professor of Electrical Engineering at MIT. He is a well known educator in the computer science community, perhaps best known as the author of Structure and Interpretation of Computer Programs, which is universally acknowledged as one of the top ten textbooks in computer science, and as the creator of Scheme, a popular teaching language. His research spans a range of topics, from artificial intelligence, to physics and chaotic systems, to supercomputer design.</p></li>
<li>
<img src="/static/staff/pmitros-small.jpg">
<img src="/static/staff/pmitros-small.jpg" alt="Piotr Mitros">
<h2>Piotr Mitros</h2>
<p>Research Scientist at MIT. His research focus is in finding ways to apply techniques from control systems to optimizing the learning process. Dr. Mitros has worked as an analog designer at Texas Instruments, Talking Lights, and most recently, designed the analog front end for a novel medical imaging modality for Rhythmia Medical.</p></li>
</ul>
......
<!DOCTYPE html>
<html>
<head>
<%block name="title"><title>MITx 6.002</title></%block>
<%block name="title"><title>MITx 6.002x</title></%block>
<link rel="stylesheet" href="${ settings.LIB_URL }jquery.treeview.css" type="text/css" media="all" />
<link rel="stylesheet" href="/static/css/application.css" type="text/css" media="all" />
......@@ -27,11 +27,6 @@
</script>
<script type="text/javascript" src="${ settings.LIB_URL }mathjax/MathJax.js?config=TeX-AMS_HTML-full"></script>
<script type="text/javascript">
$(function(){
$("a[rel*=leanModal]").leanModal();
});
</script>
<%block name="headextra"/>
</head>
......@@ -116,5 +111,13 @@ $(function() {
});
</script>
<script type="text/javascript">
$(function(){
$("a[rel*=leanModal]").leanModal();
});
</script>
<%block name="js_extra"/>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<%block name="title"><title>MITx 6.002</title></%block>
<title><%block name="title">MITx: MIT's new online learning initiative</%block></title>
<meta name="description" content="<%block name="description">MITx will offer a portfolio of MIT courses for free to a virtual community of learners around the world</%block>" />
<meta name="keywords" content="<%block name="keywords">MITx, online learning, MIT, online laboratory, education, learners, undergraduate, certificate</%block>" />
<!--link rel="stylesheet" href="${ settings.LIB_URL }jquery.treeview.css" type="text/css" media="all" /-->
<link rel="stylesheet" href="/static/css/marketing.css" type="text/css" media="all" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!--[if lt IE 8]>
<link rel="stylesheet" href="/static/css/marketing-ie.css" type="text/css" media="all" />
<![endif]-->
......@@ -22,11 +27,6 @@
<script src="/static/js/html5shiv.js"></script>
<![endif]-->
<script type="text/javascript">
$(function(){
$("a[rel*=leanModal]").leanModal();
});
</script>
<%block name="headextra"/>
......@@ -151,7 +151,20 @@ $(document).ready(function(){
});
});
$(function(){
$("a[rel*=leanModal]").leanModal();
$("a.login").click(function(){
$("#login_form #li_email").focus();
});
$("a.enroll").click(function(){
$("#enroll_form #ca_email").focus();
});
});
</script>
<%block name="js_extra"/>
</body>
</html>
......@@ -12,7 +12,7 @@
</section>
<section class="intro-video">
<a id="video-overlay-link" rel="leanModal" href="#video-overlay"><img src="/static/images/video-image.png" id="video-img" alt="" /><span> Watch intro video</span></a>
<a id="video-overlay-link" rel="leanModal" href="#video-overlay"><img src="/static/images/video-image.png" id="video-img" alt="Link to MITx introduction video" /><span> Watch intro video</span></a>
</section>
</section>
......@@ -40,7 +40,7 @@
</hgroup>
<p>
<a href="http://6002x.mitx.mit.edu/" class="more-info">More information <span>&amp;</span> Enroll</a>
<a href="http://6002x.mitx.mit.edu/" class="more-info">More information <span>&amp;</span> Enroll <span class="arrow">&#8227;</span></a>
</p>
<p>Taught by Anant Agarwal, with Gerald Sussman and Piotr Mitros, 6.002x (Circuits and Electronics) is an on-line adaption of 6.002, MIT&rsquo;s first undergraduate analog design course. This prototype course will run, free of charge, for students worldwide from March 5, 2012 through June 8, 2012. Students will be given the opportunity to demonstrate their mastery of the material and earn a certificate from <em>MITx</em>.</p>
......@@ -51,6 +51,8 @@
<iframe id="player" type="text/html" width="560" height="390" src="http://www.youtube.com/embed/p2Q6BrNhdh8?enablejsapi=1" frameborder="0">
</iframe>
</div>
<%block name="js_extra">
<script>
var player;
......@@ -113,3 +115,4 @@ $(function() {
});
</script>
</%block>
......@@ -7,7 +7,6 @@
</hgroup>
<nav class="${active_page}">
<ul class="coursenav">
<li class="courseware"><a href="/courseware">Courseware</a></li>
<li class="info"><a href="/info">Course Info</a></li>
......
......@@ -13,11 +13,15 @@ function ${ id }_load() {
postJSON('/modx/problem/${ id }/problem_check',
submit_data,
function(json) {
if(json['success'] == 'syntax')
alert('Syntax error');
else
${ id }_load();
switch(json.success) {
case 'incorrect': // Worked, but answer not
case 'correct':
${ id }_load();
//alert("!!"+json.success);
break;
default:
alert(json.success);
}
});
log_event('problem_check', submit_data);
});
......
......@@ -5,9 +5,9 @@
%>
<%block name="headextra">
<script type="text/javascript" src="${ settings.LIB_URL }flot/jquery.flot.min.js"></script>
<script type="text/javascript" src="${ settings.LIB_URL }flot/jquery.flot.stack.js"></script>
<script language="javascript" type="text/javascript" src="${ settings.LIB_URL }flot/jquery.flot.symbol.js"></script>
<script type="text/javascript" src="/static/js/flot/jquery.flot.js"></script>
<script type="text/javascript" src="/static/js/flot/jquery.flot.stack.js"></script>
<script type="text/javascript" src="/static/js/flot/jquery.flot.symbol.js"></script>
<script>
<%include file="profile_graphs.js"/>
</script>
......
......@@ -16,7 +16,7 @@ $(function () {
}).appendTo("body").fadeIn(200);
}
/* -------------------------------- Grade detail graph -------------------------------- */
/* -------------------------------- Grade detail bars -------------------------------- */
var colors = [$.color.parse("#E8B800"), $.color.parse("#A0CEFA"), $.color.parse("#BD3738"), $.color.parse("#429A2E")];
//var colors = [$.color.parse("#1B2045"), $.color.parse("#557a00"), $.color.parse("#F5600"), $.color.parse("#FEBA2C")];
//var colors = [$.color.parse("#E7C856"), $.color.parse("#CD462E"), $.color.parse("#B01732"), $.color.parse("#41192A")];
......@@ -42,7 +42,7 @@ $(function () {
data: ${ json.dumps( [[i + tickIndex, score['percentage']] for i,score in enumerate(section['subscores'])] ) },
color: colors[${sectionIndex}].toString(),
});
ticks = ticks.concat( ${ json.dumps( [[i + tickIndex, str(i + 1)] for i,score in enumerate(section['subscores'])] ) } );
ticks = ticks.concat( ${ json.dumps( [[i + tickIndex, score['label'] ] for i,score in enumerate(section['subscores'])] ) } );
bottomTicks.push( [ ${tickIndex + len(section['subscores'])/2}, "${section['category']}" ] );
detail_tooltips["${section['category']}"] = ${ json.dumps([score['summary'] for score in section['subscores']] ) };
......@@ -57,8 +57,8 @@ $(function () {
data: [[${tickIndex}, ${section['totalscore']['score']}]],
color: colors[${sectionIndex}].toString(),
});
ticks = ticks.concat( [ [${tickIndex}, "Total"] ] );
detail_tooltips["${section['category']} Total"] = [ "${section['totalscore']['summary']}" ];
ticks = ticks.concat( [ [${tickIndex}, "${section['totallabel']}"] ] );
detail_tooltips["${section['category']} Average"] = [ "${section['totalscore']['summary']}" ];
<% tickIndex += 1 + sectionSpacer %>
%else: ##This is for sections like midterm or final, which have no smaller components
......@@ -66,12 +66,8 @@ $(function () {
data: [[${tickIndex}, ${section['totalscore']['score']}]],
color: colors[${sectionIndex}].toString(),
});
%if section['category'] == "Midterm":
bottomTicks = bottomTicks.concat( [ [${tickIndex}, "${section['category']}"] ] );
%else:
ticks = ticks.concat( [ [${tickIndex}, "${section['category']}"] ] );
%endif
ticks = ticks.concat( [ [${tickIndex}," ${section['totallabel']}"] ] );
detail_tooltips["${section['category']}"] = [ "${section['totalscore']['summary']}" ];
<% tickIndex += 1 + sectionSpacer %>
......@@ -80,13 +76,45 @@ $(function () {
%endfor
//Alwasy be sure that one series has the xaxis set to 2, or the second xaxis labels won't show up
series.push( {label: 'Dropped Scores', data: droppedScores, points: {symbol: "cross", show: true, radius: 3}, bars: {show: false}, color: "red", xaxis: 2} );
series.push( {label: 'Dropped Scores', data: droppedScores, points: {symbol: "cross", show: true, radius: 3}, bars: {show: false}, color: "red"} );
/* ----------------------------- Grade overviewew bar -------------------------*/
<%
totalWeight = 0.0
sectionIndex = 0
totalScore = 0.0
overviewBarX = tickIndex
%>
%for section in grade_summary:
<%
weighted_score = section['totalscore']['score'] * section['weight']
summary_text = "{0} - {1:.1%} of a possible {2:.0%}".format(section['category'], weighted_score, section['weight'])
%>
%if section['totalscore']['score'] > 0:
series.push({label: "${section['category']} - Weighted",
data: [[${overviewBarX}, ${weighted_score}]],
color: colors[${sectionIndex}].toString(),
});
%endif
detail_tooltips["${section['category']} - Weighted"] = [ "${summary_text}" ];
<%
sectionIndex += 1
totalWeight += section['weight']
totalScore += section['totalscore']['score'] * section['weight']
%>
%endfor
ticks = ticks.concat( [ [${overviewBarX}, "Total"] ] );
<% tickIndex += 1 + sectionSpacer %>
var options = {
series: {lines: {show: false, steps: false },
bars: {show: true, barWidth: 0.6, align: 'center', lineWidth: 1},},
xaxis: {tickLength: 0, min: 0.0, max: ${tickIndex - sectionSpacer}},
xaxes: [{ticks: ticks}, {ticks: bottomTicks}],
series: {stack: true,
lines: {show: false, steps: false },
bars: {show: true, barWidth: 0.6, align: 'center', lineWidth: 1},},
xaxis: {tickLength: 0, min: 0.0, max: ${tickIndex - sectionSpacer}, ticks: ticks, labelAngle: 90},
yaxis: {ticks: [[1, "100%"], [0.87, "A 87%"], [0.7, "B 70%"], [0.6, "C 60%"], [0, "0%"]], min: 0.0, max: 1.0, labelWidth: 50},
grid: { hoverable: true, clickable: true, borderWidth: 1,
markings: [ {yaxis: {from: 0.87, to: 1 }, color: "#EBFFD5"}, {yaxis: {from: 0.7, to: 0.87 }, color: "#E6FFFF"},
......@@ -94,17 +122,42 @@ $(function () {
legend: {show: false},
};
if ($("#grade-detail-graph").length > 0) {
$.plot($("#grade-detail-graph"), series, options);
var $grade_detail_graph = $("#grade-detail-graph");
if ($grade_detail_graph.length > 0) {
var plot = $.plot($grade_detail_graph, series, options);
var o = plot.pointOffset({x: ${overviewBarX} , y: ${totalScore}});
$grade_detail_graph.append('<div style="position:absolute;left:' + (o.left - 12) + 'px;top:' + (o.top - 20) + 'px">${"{totalscore:.0%}".format(totalscore=totalScore)}</div>');
// //Rotate the x-axis labels
// var rotateValue = "rotate(-60deg)";
// var rotateOrigin = "bottom left";
// $("#grade-detail-graph .x1Axis .tickLabel").css( {
// '-webkit-transform': rotateValue,
// '-moz-transform': rotateValue,
// '-ms-transform': rotateValue,
// '-o-transform': rotateValue,
// 'transform': rotateValue,
//
// '-webkit-transform-origin': rotateOrigin,
// '-moz-transform-origin': rotateOrigin,
// '-ms-transform-origin': rotateOrigin,
// '-o-transform-origin': rotateOrigin,
//
// 'text-align' : 'left',
// });
}
var previousPoint = null;
$("#grade-detail-graph").bind("plothover", function (event, pos, item) {
$("#x").text(pos.x.toFixed(2));
$("#y").text(pos.y.toFixed(2));
if (item) {
if (previousPoint != item.dataIndex) {
previousPoint = item.dataIndex;
if (previousPoint != (item.dataIndex, item.seriesIndex)) {
previousPoint = (item.dataIndex, item.seriesIndex);
$("#tooltip").remove();
......
No preview for this file type
......@@ -5,12 +5,13 @@ $ gem install sass
We are also using Bourbon with sass. They are a generic set of mixins, and functions that allow for more rapid development of CSS3. Find out more about bourbon here: https://github.com/thoughtbot/bourbon
Then to generate Sass files cd to templates directory and watch the sass files for developement:
To use bourbon you need to install it with:
$ gem install bourbon
Then to generate Sass files cd to templates directory and watch the sass files for developement:
$ sass --watch sass:../static/css/ -r ./sass/bourbon/lib/bourbon.rb
To generate a compressed css file for production:
$ sass --watch sass:../static/css/ -r ./sass/bourbon/lib/bourbon.rb --style :compressed
These will automatically generate the CSS files on save.
......@@ -43,8 +43,10 @@ div.info-wrapper {
border-left: 1px solid #d3d3d3;
h1 {
padding: 0 lh();
padding: lh(.5) lh();
font-size: 18px;
margin: 0 ;
@extend .bottom-border;
}
ol {
......
......@@ -9,8 +9,10 @@ div.profile-wrapper {
border-right: 0;
h1 {
padding:0 lh();
padding: lh(.5) lh();
font-size: 18px;
margin: 0 ;
@extend .bottom-border;
}
ul {
......
div.book-wrapper {
@extend .table-wrapper;
ul#booknav {
section.book-sidebar {
@extend .sidebar;
@include box-sizing(border-box);
@extend .tran;
a {
color: #000;
ul#booknav {
&:hover {
color: #666;
}
}
li {
background: none;
padding-left: 30px;
div.hitarea {
margin-left: -22px;
background-image: url('/static/images/treeview-default.gif');
position: relative;
top: 4px;
a {
color: #000;
&:hover {
opacity: 0.6;
filter: alpha(opacity=60);
color: #666;
}
}
ul {
li {
background: none;
padding-left: 30px;
div.hitarea {
margin-left: -22px;
background-image: url('/static/images/treeview-default.gif');
position: relative;
top: 4px;
&:hover {
opacity: 0.6;
filter: alpha(opacity=60);
}
}
ul {
background: none;
}
}
}
> li {
border-bottom: 1px solid #d3d3d3;
@include box-shadow(0 1px 0 #eee);
padding: 7px 7px 7px 30px;
> li {
border-bottom: 1px solid #d3d3d3;
@include box-shadow(0 1px 0 #eee);
padding: 7px 7px 7px 30px;
}
}
}
......@@ -74,6 +78,13 @@ div.book-wrapper {
}
}
}
&.bottom-nav {
margin-top: lh();
margin-bottom: -(lh());
border-bottom: 0;
border-top: 1px solid #EDDFAA;
}
}
section.page {
......@@ -85,4 +96,36 @@ div.book-wrapper {
}
}
}
&.closed {
section.book-sidebar {
width: flex-grid(.6);
header#open_close_accordion {
padding: 0;
a {
background-image: url('/static/images/slide-right-icon.png');
}
h2 {
visibility: hidden;
width: 10px;
padding: 0;
}
}
ul#booknav {
visibility: hidden;
width: 10px;
padding: 0;
overflow: hidden;
max-height: 100px;
}
}
section.course-content {
width: flex-grid(11.5) + flex-gutter();
}
}
}
......@@ -7,10 +7,11 @@
@import "jquery-ui-1.8.16.custom";
// pages
@import "courseware/courseware", "courseware/sidebar", "courseware/video", "courseware/sequence-nav";
@import "courseware/courseware", "courseware/sidebar", "courseware/video", "courseware/sequence-nav", "courseware/amplifier";
@import "textbook";
@import "info";
@import "profile";
@import "wiki/basic-html", "wiki/sidebar", "wiki/create", "wiki/wiki";
@import "help";
@import "discussion/askbot-original", "discussion/discussion","discussion/sidebar", "discussion/questions", "discussion/tags", "discussion/question-view" , "discussion/answers", "discussion/forms", "discussion/form-wmd-toolbar";
@import "discussion/askbot-original", "discussion/discussion","discussion/sidebar", "discussion/questions", "discussion/tags", "discussion/question-view" , "discussion/answers", "discussion/forms", "discussion/form-wmd-toolbar", "discussion/modals", "discussion/profile";
......@@ -10,8 +10,8 @@
margin: 0 auto;
max-width: $fg-max-width;
min-width: $fg-min-width;
width: flex-grid(12);
text-align: left;
width: flex-grid(12);
div.table-wrapper {
display: table;
......@@ -20,24 +20,24 @@
}
h1.top-header {
margin: (-(lh())) (-(lh())) lh();
padding: lh();
background: #f3f3f3;
border-bottom: 1px solid #e3e3e3;
margin: (-(lh())) (-(lh())) lh();
padding: lh();
}
.button {
@include box-shadow(inset 0 1px 0 lighten(#888, 10%), 0 0 3px #ccc);
@include linear-gradient(lighten(#888, 5%), darken(#888, 5%));
@include border-radius(3px);
border: 1px solid darken(#888, 10%);
padding: 4px 8px;
@include border-radius(3px);
@include box-shadow(inset 0 1px 0 lighten(#888, 10%), 0 0 3px #ccc);
color: #fff;
font: bold $body-font-size $body-font-family;
cursor: pointer;
-webkit-font-smoothing: antialiased;
text-shadow: none;
font: bold $body-font-size $body-font-family;
@include linear-gradient(lighten(#888, 5%), darken(#888, 5%));
padding: 4px 8px;
text-decoration: none;
text-shadow: none;
-webkit-font-smoothing: antialiased;
&:hover, &:focus {
@include box-shadow(inset 0 1px 0 lighten(#888, 20%), 0 0 3px #ccc);
......@@ -47,8 +47,8 @@ h1.top-header {
}
.content {
@include box-sizing(border-box);
@include box-shadow(inset 0 0 2px 3px #f3f3f3);
@include box-sizing(border-box);
display: table-cell;
padding: lh();
vertical-align: top;
......@@ -60,43 +60,55 @@ h1.top-header {
}
.sidebar {
@include box-shadow( inset 0 0 0 1px #f6f6f6);
@include box-sizing(border-box);
@include border-radius(4px 0 0 4px);
background: #e3e3e3;
@include border-radius(4px 0 0 4px);
border-right: 1px solid #d3d3d3;
@include box-shadow( inset 0 0 0 1px #f6f6f6);
@include box-sizing(border-box);
display: table-cell;
font-family: $body-font-family;
position: relative;
text-shadow: 0 1px 0 #f1f1f1;
vertical-align: top;
width: flex-grid(3);
position: relative;
h1, h2 {
font-size: 18px;
font-weight: 800;
letter-spacing: 0;
text-transform: none;
}
.bottom-border {
@include box-shadow(0 1px 0 #eee);
border-bottom: 1px solid #d3d3d3;
}
@media print {
display: none;
}
h3 {
@include box-shadow(0 1px 0 #eee);
background: none;
border: none;
border-bottom: 1px solid #d3d3d3;
@extend .bottom-border;
background: none;
color: #000;
font-weight: normal;
margin: 0;
overflow: hidden;
a {
@include transition();
color: lighten($text-color, 10%);
display: block;
font-size: $body-font-size;
padding: 7px 7px 7px 30px;
text-decoration: none;
@include transition();
&:hover {
@include box-shadow(0 1px 0 #fff);
background: #efefef;
@include box-shadow(0 1px 0 #fff);
}
}
......@@ -105,10 +117,10 @@ h1.top-header {
}
&.active {
@include box-shadow(none);
background: none;
border: 0;
border-bottom: 1px solid #bbb;
@include box-shadow(none);
color: #000;
font-weight: bold;
......@@ -118,19 +130,48 @@ h1.top-header {
}
}
header#open_close_accordion {
border-bottom: 1px solid #d3d3d3;
@include box-shadow(0 1px 0 #eee);
padding: lh(.5) lh();
position: relative;
h2 {
padding-right: 20px;
margin: 0;
}
a {
background: #eee url('/static/images/slide-left-icon.png') center center no-repeat;
border: 1px solid #D3D3D3;
@include border-radius(3px 0 0 3px);
height: 16px;
padding: 8px;
position: absolute;
right: -1px;
text-indent: -9999px;
top: 6px;
width: 16px;
&:hover {
background-color: white;
}
}
}
a.button {
text-decoration: none;
}
}
.topbar {
@extend .clearfix;
background: #F6EFD4;
border-bottom: 1px solid darken(#F6EFD4, 10%);
margin: (-$body-line-height) (-$body-line-height) $body-line-height;
@include box-shadow(inset 0 1px 0 #fff, inset 1px 0 0 #fff);
font-size: 12px;
margin: (-$body-line-height) (-$body-line-height) $body-line-height;
text-shadow: 0 1px 0 #fff;
@include box-shadow(inset 0 1px 0 #fff, inset 1px 0 0 #fff);
@extend .clearfix;
@media print {
display: none;
......@@ -145,12 +186,12 @@ h1.top-header {
}
&.block-link {
@include box-shadow(inset 1px 0 0 lighten(#f6efd4, 5%));
background: darken(#F6EFD4, 5%);
border-left: 1px solid darken(#f6efd4, 20%);
@include box-shadow(inset 1px 0 0 lighten(#f6efd4, 5%));
display: block;
padding: lh(.75);
text-transform: uppercase;
display: block;
&:hover {
background: none;
......@@ -158,3 +199,7 @@ h1.top-header {
}
}
}
.tran {
@include transition( all, .2s, $ease-in-out-quad);
}
......@@ -20,4 +20,3 @@
@function lh($amount: 1) {
@return $body-line-height * $amount;
}
// JM MOSFET AMPLIFIER
div#graph-container {
@extend .clearfix;
canvas#graph {
background-color: rgb(60, 60, 100);
width: flex-grid(4.5, 9);
float: left;
margin-right: flex-gutter(9);
}
div.graph-controls {
width: flex-grid(4.5, 9);
float: left;
select#musicTypeSelect {
display: block;
margin-bottom: lh(2);
}
div#graph-output {
display: block;
margin-bottom: lh(2);
}
div#graph-listen {
display: block;
margin-bottom: lh(2);
}
p {
margin-bottom: lh(1);
}
div#label {
display: inline-block;
}
input#playButton {
display: block;
}
}
}
div#schematic-container {
@extend .clearfix;
canvas {
background-color: rgb(60, 60, 100);
width: flex-grid(4.5, 9);
float: left;
margin-right: flex-gutter(9);
}
div.schematic-sliders {
width: flex-grid(4.5, 9);
float: left;
div.slider-label#vs {
margin-top: lh(2.0);
}
div.slider-label {
margin-bottom: lh(0.5);
}
div.slider {
margin-bottom: lh(1);
}
}
}
//End JM MOSFET AMPLIFIER
......@@ -5,10 +5,6 @@ div.course-wrapper {
list-style: none;
}
.tran {
@include transition( all, .2s, $ease-in-out-quad);
}
section.course-content {
@extend .content;
......@@ -176,7 +172,7 @@ div.course-wrapper {
section.course-index {
width: flex-grid(.6);
div#open_close_accordion {
header#open_close_accordion {
padding: 0;
a {
......
......@@ -2,34 +2,6 @@ section.course-index {
@extend .sidebar;
@extend .tran;
div#open_close_accordion {
@include box-shadow(0 1px 0 #eee);
border-bottom: 1px solid #d3d3d3;
padding: 0 lh();
position: relative;
h2 {
padding-right: 20px;
}
a {
width: 16px;
text-indent: -9999px;
height: 16px;
position: absolute;
padding: 8px;
top: -12px;
right: -1px;
border: 1px solid #D3D3D3;
background: #eee url('/static/images/slide-left-icon.png') center center no-repeat;
@include border-radius(3px 0 0 3px);
&:hover {
background-color: white;
}
}
}
div#accordion {
h3 {
......
div.answer-controls {
@include box-sizing(border-box);
@extend div.question-controls;
display: inline-block;
margin: 20px 0;
margin: 0 0 15px;
padding-left: flex-grid(1.1);
width: 100%;
div.answer-sort {
@extend div.question-sort;
div.answer-count {
display: inline-block;
float: left;
}
div.answer-count {
@extend div.question-count;
div.answer-sort {
float: right;
margin-left: flex-gutter();
nav {
@extend .action-link;
float: right;
margin-top: 34px;
a {
&.on span{
font-weight: bold;
}
&:before {
content: '|';
color: #ccc;
font-size: 16px;
}
}
}
}
}
......@@ -44,12 +64,49 @@ div.answer-block {
}
div.answered-by-owner {
color: $mit-red;
p {
font-style: italic;
color: #656565;
}
div.comments-container {
color: #555;
}
}
div.deleted {
p {
color: $mit-red;
}
}
}
div.paginator {
@extend div.answer-block;
text-align: center;
padding: 20px 0;
span {
@include border-radius(3px);
background: #eee;
margin: 0 5px;
padding: 4px 10px;
&.curr {
background: none;
color: $mit-red;
font-weight: bold;
}
&.next, &.prev {
@extend .light-button;
}
a {
color: #555;
text-decoration: none;
}
}
}
div.answer-own {
......@@ -60,18 +117,27 @@ div.answer-own {
}
div.answer-actions {
text-align: right;
margin: 0;
padding: 0;
padding:8px 8px 8px 0;
text-align: right;
border-top: 1px solid #efefef;
span.sep {
color: #ddd;
color: #EDDFAA;
}
a {
text-decoration: none;
cursor: pointer;
text-decoration: none;
&.question-delete {
// color: $mit-red;
}
&.question-edit, &.permant-link {
// color: darken(#F6EFD4, 45%);;
}
}
a.question-edit, a.permant-link {
color: #999;
}
}
......@@ -107,9 +107,9 @@
// height: 0;
// visibility: hidden; }
.badges a {
color: #763333;
text-decoration: underline; }
// .badges a {
// color: #763333;
// text-decoration: underline; }
// a:hover {
// text-decoration: underline; }
......@@ -792,53 +792,53 @@ body.anon #searchbar {
margin-bottom: 16px;
float: right; }
.paginator {
padding: 5px 0 10px 0;
font-size: 13px;
margin-bottom: 10px;
.prev a, .next a {
background-color: #fff;
color: #777;
padding: 2px 4px 3px 4px;
&:visited {
background-color: #fff;
color: #777;
padding: 2px 4px 3px 4px; } }
a {
color: #7ea9b3; }
.prev {
margin-right: .5em; }
.next {
margin-left: .5em; }
.page a {
padding: .25em;
background-color: #fff;
margin: 0em .25em;
color: #ff;
&:visited {
padding: .25em;
background-color: #fff;
margin: 0em .25em;
color: #ff; } }
.curr {
padding: .25em;
background-color: #fff;
margin: 0em .25em;
color: #ff;
background-color: #8ebcc7;
color: #fff;
font-weight: bold; }
.next a, .prev a {
color: #7ea9b3; }
.page a:hover, .curr a:hover, .prev a:hover, .next a:hover {
color: #8c8c8c;
background-color: #e1e1e1;
text-decoration: none; }
.text {
color: #777;
padding: .3em; }
.paginator-container-left {
padding: 5px 0 10px 0; } }
// .paginator {
// padding: 5px 0 10px 0;
// font-size: 13px;
// margin-bottom: 10px;
// .prev a, .next a {
// background-color: #fff;
// color: #777;
// padding: 2px 4px 3px 4px;
// &:visited {
// background-color: #fff;
// color: #777;
// padding: 2px 4px 3px 4px; } }
// a {
// color: #7ea9b3; }
// .prev {
// margin-right: .5em; }
// .next {
// margin-left: .5em; }
// .page a {
// padding: .25em;
// background-color: #fff;
// margin: 0em .25em;
// color: #ff;
// &:visited {
// padding: .25em;
// background-color: #fff;
// margin: 0em .25em;
// color: #ff; } }
// .curr {
// padding: .25em;
// background-color: #fff;
// margin: 0em .25em;
// color: #ff;
// background-color: #8ebcc7;
// color: #fff;
// font-weight: bold; }
// .next a, .prev a {
// color: #7ea9b3; }
// .page a:hover, .curr a:hover, .prev a:hover, .next a:hover {
// color: #8c8c8c;
// background-color: #e1e1e1;
// text-decoration: none; }
// .text {
// color: #777;
// padding: .3em; }
// .paginator-container-left {
// padding: 5px 0 10px 0; } }
// .tag-size-1 {
// font-size: 12px; }
......@@ -1037,44 +1037,44 @@ body.anon #searchbar {
// border: #cce6ec 3px solid;
// width: 725px; } }
.ask-page div#question-list, .edit-question-page div#question-list {
float: none;
border-bottom: #f0f0ec 1px solid;
float: left;
margin-bottom: 10px; }
.ask-page div#question-list a, .edit-question-page div#question-list a {
line-height: 30px; }
// .ask-page div#question-list, .edit-question-page div#question-list {
// float: none;
// border-bottom: #f0f0ec 1px solid;
// float: left;
// margin-bottom: 10px; }
.ask-page div#question-list h2, .edit-question-page div#question-list h2 {
font-size: 13px;
padding-bottom: 0;
color: #1b79bd;
border-top: #f0f0ec 1px solid;
border-left: #f0f0ec 1px solid;
height: 30px;
line-height: 30px;
font-weight: normal; }
// .ask-page div#question-list a, .edit-question-page div#question-list a {
// line-height: 30px; }
.ask-page div#question-list span, .edit-question-page div#question-list span {
width: 28px;
height: 26px;
line-height: 26px;
text-align: center;
margin-right: 10px;
float: left;
display: block;
color: #fff;
background: #b8d0d5;
border-radius: 3px;
-ms-border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px; }
// .ask-page div#question-list h2, .edit-question-page div#question-list h2 {
// font-size: 13px;
// padding-bottom: 0;
// color: #1b79bd;
// border-top: #f0f0ec 1px solid;
// border-left: #f0f0ec 1px solid;
// height: 30px;
// line-height: 30px;
// font-weight: normal; }
.ask-page label, .edit-question-page label {
color: #525252;
font-size: 13px; }
// .ask-page div#question-list span, .edit-question-page div#question-list span {
// width: 28px;
// height: 26px;
// line-height: 26px;
// text-align: center;
// margin-right: 10px;
// float: left;
// display: block;
// color: #fff;
// background: #b8d0d5;
// border-radius: 3px;
// -ms-border-radius: 3px;
// -moz-border-radius: 3px;
// -webkit-border-radius: 3px;
// -khtml-border-radius: 3px; }
// .ask-page label, .edit-question-page label {
// color: #525252;
// font-size: 13px; }
// .ask-page #id_tags, .edit-question-page #id_tags {
// border: #cce6ec 3px solid;
......@@ -1083,9 +1083,9 @@ body.anon #searchbar {
// width: 395px;
// font-size: 14px; }
.title-desc {
color: #707070;
font-size: 13px; }
// .title-desc {
// color: #707070;
// font-size: 13px; }
// #fmanswer input.submit, .ask-page input.submit, .edit-question-page input.submit {
// float: left;
......@@ -1846,27 +1846,27 @@ body.anon #searchbar {
// width: 270px;
// margin-bottom: 15px; }
a {
&.medal {
font-size: 17px;
line-height: 250%;
margin-right: 5px;
color: #333;
text-decoration: none;
background: url(../images/medala.gif) no-repeat;
border-left: 1px solid #eee;
border-top: 1px solid #eee;
border-bottom: 1px solid #ccc;
border-right: 1px solid #ccc;
padding: 4px 12px 4px 6px; }
&:hover.medal {
color: #333;
text-decoration: none;
background: url(../images/medala_on.gif) no-repeat;
border-left: 1px solid #e7e296;
border-top: 1px solid #e7e296;
border-bottom: 1px solid #d1ca3d;
border-right: 1px solid #d1ca3d; } }
// a {
// &.medal {
// font-size: 17px;
// line-height: 250%;
// margin-right: 5px;
// color: #333;
// text-decoration: none;
// background: url(../images/medala.gif) no-repeat;
// border-left: 1px solid #eee;
// border-top: 1px solid #eee;
// border-bottom: 1px solid #ccc;
// border-right: 1px solid #ccc;
// padding: 4px 12px 4px 6px; }
// &:hover.medal {
// color: #333;
// text-decoration: none;
// background: url(../images/medala_on.gif) no-repeat;
// border-left: 1px solid #e7e296;
// border-top: 1px solid #e7e296;
// border-bottom: 1px solid #d1ca3d;
// border-right: 1px solid #d1ca3d; } }
#award-list .user {
float: left;
......@@ -1877,19 +1877,19 @@ a {
margin-bottom: 15px;
float: left; }
.user-profile-page {
font-size: 13px;
color: #525252;
p {
font-size: 13px;
line-height: 1.3;
color: #525252; }
.avatar img {
border: #eee 1px solid;
padding: 5px; }
h2 {
padding: 10px 0px 10px 0px;
font-family: 'yanone kaffeesatz',sans-serif; } }
// .user-profile-page {
// font-size: 13px;
// color: #525252;
// p {
// font-size: 13px;
// line-height: 1.3;
// color: #525252; }
// .avatar img {
// border: #eee 1px solid;
// padding: 5px; }
// h2 {
// padding: 10px 0px 10px 0px;
// font-family: 'yanone kaffeesatz',sans-serif; } }
.user-details {
font-size: 13px;
......@@ -1970,10 +1970,10 @@ a {
font-weight: 700;
color: #777; }
.answer-summary {
display: block;
clear: both;
padding: 3px; }
// .answer-summary {
// display: block;
// clear: both;
// padding: 3px; }
.answer-votes {
background-color: #eeeeee;
......@@ -2111,44 +2111,44 @@ ins {
background-color: #e6f0a2; }
background-color: #e6f0a2; }
.vote-notification {
z-index: 1;
cursor: pointer;
display: none;
position: absolute;
font-family: arial;
font-size: 14px;
font-weight: normal;
color: white;
background-color: #8e0000;
text-align: center;
padding-bottom: 10px;
-webkit-box-shadow: 0px 2px 4px #370000;
-moz-box-shadow: 0px 2px 4px #370000;
box-shadow: 0px 2px 4px #370000;
border-radius: 4px;
-ms-border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
-khtml-border-radius: 4px;
h3 {
background: url(../images/notification.png) repeat-x top;
padding: 10px 10px 10px 10px;
font-size: 13px;
margin-bottom: 5px;
border-top: #8e0000 1px solid;
color: #fff;
font-weight: normal;
border-top-right-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topright: 4px;
-moz-border-radius-topleft: 4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-top-right-radius: 4px; }
a {
color: #fb7321;
text-decoration: underline;
font-weight: bold; } }
// .vote-notification {
// z-index: 1;
// cursor: pointer;
// display: none;
// position: absolute;
// font-family: arial;
// font-size: 14px;
// font-weight: normal;
// color: white;
// background-color: #8e0000;
// text-align: center;
// padding-bottom: 10px;
// -webkit-box-shadow: 0px 2px 4px #370000;
// -moz-box-shadow: 0px 2px 4px #370000;
// box-shadow: 0px 2px 4px #370000;
// border-radius: 4px;
// -ms-border-radius: 4px;
// -moz-border-radius: 4px;
// -webkit-border-radius: 4px;
// -khtml-border-radius: 4px;
// h3 {
// background: url(../images/notification.png) repeat-x top;
// padding: 10px 10px 10px 10px;
// font-size: 13px;
// margin-bottom: 5px;
// border-top: #8e0000 1px solid;
// color: #fff;
// font-weight: normal;
// border-top-right-radius: 4px;
// border-top-left-radius: 4px;
// -moz-border-radius-topright: 4px;
// -moz-border-radius-topleft: 4px;
// -webkit-border-top-left-radius: 4px;
// -webkit-border-top-right-radius: 4px; }
// a {
// color: #fb7321;
// text-decoration: underline;
// font-weight: bold; } }
// #ground {
// width: 100%;
......@@ -2202,8 +2202,8 @@ span {
p.form-item {
margin: 0px; }
.deleted {
background: #f4e7e7 none repeat scroll 0 0; }
// .deleted {
// background: #f4e7e7 none repeat scroll 0 0; }
.form-row {
line-height: 25px; }
......@@ -2621,16 +2621,16 @@ p.signup_p {
li {
display: inline; } }
.user-profile-page {
.avatar p {
margin-bottom: 0px; }
.tabbar a#stats {
margin-left: 0; }
img.gravatar {
margin: 2px 0 3px 0; }
h3 {
padding: 0;
margin-top: -3px; } }
// .user-profile-page {
// .avatar p {
// margin-bottom: 0px; }
// .tabbar a#stats {
// margin-left: 0; }
// img.gravatar {
// margin: 2px 0 3px 0; }
// h3 {
// padding: 0;
// margin-top: -3px; } }
.userlist {
font-size: 13px; }
......
......@@ -20,11 +20,11 @@
}
.action-link {
a {
color: darken(#F6EFD4, 50%);
color: $mit-red;
&:hover {
text-decoration: none;
color: darken(#F6EFD4, 70%);
color: darken($mit-red, 20%);
}
}
}
......@@ -43,14 +43,17 @@ body.askbot {
vertical-align: top;
width: flex-grid(9) + flex-gutter();
p.tabula-rasa {
.tabula-rasa {
@extend .light-button;
@include border-radius(5px);
background-color: #f6f6f6;
color: #888;
display: block;
margin: 10px auto;
padding: 20px;
text-align: center;
width: flex-grid(5);
text-decoration: none;
color: #888;
font-weight: bold;
&:first-child {
margin-top: 70px;
......@@ -59,14 +62,50 @@ body.askbot {
margin-bottom: 70px;
}
a {
text-decoration: none;
color: #888;
font-weight: bold;
}
}
}
}
}
}
// Autocomplete
.acInput {
width: 200px;
}
.acResults {
background-color: #fff;
border: 1px solid #ababab;
overflow: hidden;
padding: 0px;
@include box-shadow(0 2px 2px #bbb);
ul {
list-style-position: outside;
list-style: none;
margin: 0;
padding: 0;
width: 100%;
}
li {
cursor: pointer;
display: block;
font: menu;
margin: 0px;
overflow: hidden;
padding: 5px 10px;
text-align: left;
border-top: 1px solid #eee;
width: 100%;
}
}
.acLoading {
background : url('../images/indicator.gif') right center no-repeat;
}
.acSelect {
background-color: $mit-red;
color: #fff;
}
......@@ -13,17 +13,27 @@ form.answer-form {
}
div.form-item {
margin: 25px 0;
margin: 15px 0;
label {
display: block;
margin-bottom: -5px;
}
.title-desc {
@include box-sizing(border-box);
background: #333;
color: #fff;
font-size: 13px;
padding: 5px 10px;
width: flex-grid(6);
-webkit-font-smoothing: antialiased;
}
}
span.form-error, label.form-error {
color: #990000;
display: inline;
display: inline-block;
font-size: 90%;
font-weight: bold;
padding: 10px 0;
......@@ -78,6 +88,7 @@ form.question-form {
}
input[type="text"] {
@include box-sizing(border-box);
width: flex-grid(6);
}
......
.vote-notification {
background-color: darken($mit-red, 7%);
@include border-radius(4px);
@include box-shadow(0px 2px 9px #aaa);
color: white;
cursor: pointer;
display: none;
font-size: 14px;
font-weight: normal;
padding-bottom: 10px;
position: absolute;
text-align: center;
h3 {
background: $mit-red;
padding: 10px 10px 10px 10px;
font-size: 13px;
margin-bottom: 5px;
border-bottom: darken(#8e0000, 10%) 1px solid;
@include box-shadow(0 1px 0 lighten($mit-red, 10%));
color: #fff;
font-weight: normal;
@include border-radius(4px 4px 0 0);
}
a {
color: #fb7321;
text-decoration: underline;
font-weight: bold; } }
body.user-profile-page {
section.user-info {
// @extend .sidebar;
header {
@extend .clearfix;
border-bottom: 1px solid #d3d3d3;
@include box-shadow(0 1px 0 #eee);
padding: 0 lh();
margin: 0 (-(lh())) lh();
section {
float: left;
width: flex-grid(2, 3);
margin-right: flex-gutter(3);
h1 {
margin-top: 0;
}
}
p.karma {
float: left;
width: flex-grid(1, 3);
border: 1px solid #D3D3D3;
@include border-radius(3px);
@include box-shadow(inset 0 0 0 1px #fff, 0 1px 0 #fff);
background: #eee;
text-align: center;
padding: lh(.5) 0;
strong {
display: block;
font-style: 20px;
}
}
}
}
section.questions {
h1 {
@extend .top-header;
}
}
ul.sub-info {
border-top: 1px solid #ddd;
margin-top: lh();
list-style: none;
> li {
width: flex-grid(2.25, 9);
display: table-cell;
padding: (flex-gutter(9)/2);
border-right: 1px solid #ddd;
@include box-sizing(border-box);
&:first-child {
padding-left: 0;
}
&:last-child {
border-right: 0;
padding-right: 0;
}
h2 {
margin-top: 0;
}
span.tag-number {
display: none;
}
}
ul {
list-style: none;
&.user-stats-table {
list-style: none;
}
&.vote-buttons {
list-style: none;
li {
@include border-radius(4px);
background-color: lighten(#F6EFD4, 3%);
background-position: 10px center;
background-repeat: no-repeat;
height: 20px;
padding: 10px 10px 10px 40px;
display: inline-block;
&.up {
background-image: url(/static/images/askbot/vote-arrow-up.png);
margin-right: 6px;
}
&.down {
background-image: url(/static/images/askbot/vote-arrow-down.png);
}
}
}
&.badges {
@include border-radius(4px);
background-color: #e3e3e3;
@include inline-block();
a {
border: 0;
background: none;
text-transform: uppercase;
color: #292309;
font-size: 12px;
padding: 10px;
text-shadow: 0 1px 0 #fff;
display: block;
}
}
}
}
}
......@@ -72,7 +72,7 @@ div.question-header {
width: flex-grid(4,8);
a {
color: darken(#F6EFD4, 50%);
// color: darken(#F6EFD4, 50%);
&.question-delete {
color: $mit-red;
......@@ -80,7 +80,7 @@ div.question-header {
}
span.sep {
color: darken(#F6EFD4, 10%);
color: #ccc;
}
}
}
......@@ -100,11 +100,10 @@ div.question-header {
display: inline-block;
float: left;
width: flex-grid(1.8,8);
border-left: 1px dotted #CCC;
div.post-update-info {
@include box-sizing(border-box);
@include border-radius(5px);
background:lighten(#F6EFD4, 5%);
padding: 10px;
margin-bottom: 10px;
......@@ -127,29 +126,19 @@ div.question-header {
div.change-date {
font-size: 12px;
margin-bottom: 10px;
margin-bottom: 2px;
}
div.avatar {
div.user-meta {
display: inline-block;
float: left;
margin-right: 3px;
img.gravatar {
background: white;
border: 1px solid darken(#F6EFD4, 10%);
span.username {
font-size: 20px;
margin-right: 5px;
padding: 3px ;
vertical-align: bottom;
}
}
div.user-meta {
display: inline-block;
width: 60%;
span.user-badges {
display: block;
// display: block;
}
}
}
......@@ -158,16 +147,13 @@ div.question-header {
div.comments-container {
@include box-sizing(border-box);
// background: lighten(#efefef, 3%);
padding: 3%;
display: inline-block;
// margin: 15px 0 0;
padding: 3%;
padding: 0 0 3% 0;
width: 100%;
div.comments-content {
font-size: 13px;
background: lighten(#efefef, 4%);
background: #efefef;
div.block {
border-top: 1px solid #ddd;
......@@ -177,9 +163,6 @@ div.question-header {
&:first-child {
border-top: 0;
}
// &:last-child {
// border-bottom: 1px solid #ddd;
// }
}
form.post-comments {
......@@ -291,7 +274,7 @@ div.question-header {
}
.counter {
color: #888;
display: block;
display: none;
float: right;
margin-top: 5px;
text-align: right;
......@@ -299,7 +282,7 @@ div.question-header {
div.controls {
// padding: 15px 0;
background: lighten(#eeeeee, 4%);
background: #efefef ;
text-align: right;
a {
display: inline-block;
......@@ -311,4 +294,18 @@ div.question-header {
}
}
div.question-status {
background: $mit-red;
clear:both;
color: #fff;
display: block;
padding: 10px 0 10px 7.5%;
h3 {
font-weight: normal;
}
a {
color: #eee;
}
}
div.question-list-header {
display: block;
margin-bottom: 15px;
margin-bottom: 0px;
overflow: hidden;
width: flex-grid(9,9);
@extend h1.top-header;
section.question-list-meta {
display: block;
......@@ -14,6 +15,9 @@ div.question-list-header {
float: left;
}
h1 {
margin: 0;
}
span.label {
color: #555;
}
......@@ -30,6 +34,7 @@ div.question-list-header {
div.question-sort {
float: right;
margin-left: flex-gutter();
margin-top: 10px;
nav {
@extend .action-link;
......@@ -42,8 +47,8 @@ div.question-list-header {
&:before {
content: '|';
color: darken(#F6EFD4, 10%);
font-size: 22px;
color: #ccc;
font-size: 16px;
}
}
}
......@@ -53,8 +58,7 @@ div.question-list-header {
section.question-tags-list {
display: block;
min-height: 26px;
overflow: hidden;
padding-top:5px;
padding-top:15px;
width: 100%;
div {
......@@ -64,6 +68,7 @@ div.question-list-header {
div.back {
margin-right: 10px;
margin-top: 4px;
a {
color: #555;
......@@ -73,6 +78,14 @@ div.question-list-header {
div.tags-list {
}
ul.tags li {
background: #fff;
&:before {
border-color: transparent #fff transparent transparent;
}
}
}
}
......@@ -80,12 +93,26 @@ ul.question-list, div#question-list {
width: flex-grid(9,9);
li.single-question {
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
list-style: none;
padding: 10px 0;
padding: 10px 3%;
margin-left: -3%;
width: 100%;
&:hover {
background: lighten(#F6EFD4, 8%);
background: #F3F3F3;
ul.tags li {
background: #ddd;
&:before {
border-color: transparent #ddd transparent transparent;
}
}
}
&:first-child {
border-top: 0;
}
div {
......@@ -130,27 +157,31 @@ ul.question-list, div#question-list {
text-align: right;
li {
@include border-radius(3px);
@include linear-gradient(#fff, #f5f5f5);
border: 1px solid #ddd;
display: inline-block;
height:60px;
margin-right: 10px;
width: 60px;
&:hover {
span, div {
color: #555;
}
}
&.views {
background: lighten(#F6EFD4, 5%);
}
&.answers {
background: #F6EFD4;
}
&.votes {
background: darken(#F6EFD4, 5%);
}
span, div {
@include box-sizing(border-box);
color: darken(#F6EFD4, 60%);
color: #888;
display: block;
text-align: center;
}
......@@ -173,6 +204,23 @@ ul.question-list, div#question-list {
}
}
div.post-own-question {
padding: 11px;
margin-top: 10px;
color: #888;
text-align: center;
a {
font-weight: bold;
@extend .light-button;
padding: 20px;
display: block;
margin: 10px auto;
text-align: center;
width: flex-grid(5);
}
}
}
.search-result-summary {
......
div.discussion-wrapper aside {
@extend .sidebar;
@include box-shadow(inset 1px 0 0 #f6f6f6);
@include border-radius(0 4px 4px 0);
border-left: 1px solid #d3d3d3;
@include border-radius(0 4px 4px 0);
border-right: 1px solid #f6f6f6;
@include box-shadow(inset 1px 0 0 #f6f6f6);
padding: lh();
width: flex-grid(3);
h1 {
@extend .bottom-border;
margin: (-(lh())) (-(lh())) 0;
padding: lh(.5) lh();
}
h2 {
color: #4D4D4D;
......@@ -27,17 +31,28 @@ div.discussion-wrapper aside {
}
div.box {
@include box-shadow(0 1px 0 #eee);
border-bottom: 1px solid #d3d3d3;
display: block;
padding-bottom: 20px;
overflow: hidden;
margin: lh(.5) 0;
&:last-child {
@include box-shadow(none);
border: 0;
}
h2 {
text-transform: uppercase;
font-weight: bold;
font-size: 14px;
letter-spacing: 1px;
&:not(.first) {
@include box-shadow(inset 0 1px 0 #eee);
border-top: 1px solid #d3d3d3;
margin: 0 (-(lh())) 0;
padding: lh(.5) lh();
}
}
&.contributors {
a {
......@@ -70,11 +85,8 @@ div.discussion-wrapper aside {
}
}
#displayTagFilterControl {
margin-top: 10px;
}
div.search-box {
margin-top: lh(.5);
input {
@include box-sizing(border-box);
display: inline;
......@@ -107,9 +119,9 @@ div.discussion-wrapper aside {
input#clear {
@include box-shadow(none);
@include border-radius(5px);
@include border-radius(15px);
border: none;
background: $mit-red;
background: #bbb;
color: #fff;
display: inline;
font-size: 10px;
......@@ -118,6 +130,34 @@ div.discussion-wrapper aside {
}
}
div#tagSelector {
h2 {
@include box-shadow(inset 0 1px 0 #eee);
border-top: 1px solid #d3d3d3;
margin: 0 (-(lh())) 0;
padding: lh(.5) lh();
text-transform: uppercase;
font-weight: bold;
font-size: 14px;
letter-spacing: 1px;
}
ul {
margin: 0;
}
div.inputs {
margin-bottom: lh();
}
div#displayTagFilterControl {
p.choice {
@include inline-block();
margin-right: lh(.5);
}
}
}
// Question view sopecific
div.follow-buttons {
......@@ -136,11 +176,10 @@ div.discussion-wrapper aside {
div.question-stats {
ul {
color: #777;
list-style: none;
li {
@include box-shadow(0 1px 0 #eee);
border-bottom: 1px solid #d3d3d3;
padding: 7px 0;
padding: 7px 0 0;
&:last-child {
@include box-shadow(none);
......@@ -162,6 +201,3 @@ div.discussion-wrapper aside {
}
}
}
ul.tags {
list-style: none;
display: inline;
li, a {
position: relative;
}
li {
@include border-radius(4px);
background: #eee;
@include border-radius(4px);
@include box-shadow(0px 1px 0px #ccc);
color: #555;
display: inline-block;
font-size: 12px;
margin-bottom: 5px;
margin-left: 15px;
padding: 3px 10px 5px 5px;
margin-bottom: 5px;
&:before {
border-color:transparent #eee transparent transparent;
......@@ -20,15 +23,15 @@ ul.tags {
border-width:12px 12px 12px 0;
content:"";
height:0;
left:-11px;
left:-10px;
position:absolute;
top:0;
width:0;
}
span.delete-icon, div.delete-icon {
@include border-radius(0 4px 4px 0);
background: #555;
@include border-radius(0 4px 4px 0);
clear: none;
color: #eee;
cursor: pointer;
......@@ -36,7 +39,7 @@ ul.tags {
float: none;
left: 10px;
opacity: 0.5;
padding: 3px 6px;
padding: 4px 6px;
position: relative;
top: 1px;
......@@ -53,11 +56,12 @@ ul.tags {
}
span.tag-number {
@include border-radius(3px);
background: #555;
font-size: 10px;
margin: 0 3px;
padding: 2px 5px;
color: #eee;
opacity: 0.5;
display: none;
// @include border-radius(3px);
// background: #555;
// font-size: 10px;
// margin: 0 3px;
// padding: 2px 5px;
// color: #eee;
// opacity: 0.5;
}
......@@ -2,7 +2,7 @@
@include box-sizing(border-box);
margin: 0 auto;
max-width: $fg-max-width;
min-width: $fg-min-width;
// min-width: $fg-min-width;
padding: lh();
width: flex-grid(12);
}
......
......@@ -8,6 +8,11 @@ footer {
padding: lh() 0;
background: url('/static/images/marketing/mit-logo.png') right center no-repeat;
@media screen and (max-width: 780px) {
background-position: left bottom;
padding-bottom: lh(3);
}
a {
color: #888;
text-decoration: none;
......@@ -26,8 +31,13 @@ footer {
ul {
@include inline-block();
@media screen and (max-width: 780px) {
margin-top: lh();
}
li {
@include inline-block();
margin-bottom: 0;
&:after {
content: ' |';
......
......@@ -15,6 +15,10 @@ header.announcement {
div {
padding: lh(10) lh() lh(3);
@media screen and (max-width:780px) {
padding: lh(2.5) lh() lh(2);
}
//hide login link for homepage
nav {
h1 {
......@@ -41,7 +45,12 @@ header.announcement {
div {
padding: lh(4) lh() lh(2);
@media screen and (max-width:780px) {
padding: lh(2.5) lh() lh(2);
}
}
}
div {
......@@ -61,6 +70,7 @@ header.announcement {
@include inline-block();
margin-right: lh(.5);
a {
font: italic 800 18px $header-font-family;
color: #fff;
......@@ -87,43 +97,53 @@ header.announcement {
section {
@extend .clearfix;
@include inline-block();
background: $mit-red;
@include inline-block();
margin-left: flex-grid(4) + flex-gutter();
padding: lh() lh(1.5);
@media screen and (max-width: 780px) {
margin-left: 0;
}
h1 {
@include inline-block();
font-family: "Open Sans";
font-size: 30px;
font-weight: 800;
@include inline-block();
line-height: 1.2em;
margin: 0 lh() 0 0;
}
h2 {
@include inline-block();
font-family: "Open Sans";
font-size: 24px;
font-weight: 400;
@include inline-block();
line-height: 1.2em;
}
&.course {
section {
width: flex-grid(4, 8);
margin-right: flex-gutter(8);
float: left;
margin-left: 0;
margin-right: flex-gutter(8);
padding: 0;
width: flex-grid(4, 8);
@media screen and (max-width: 780px) {
float: none;
width: 100%;
margin-right: 0;
}
a {
@extend .button;
@include box-shadow(inset 0 1px 0 darken($mit-red, 10%), 0 1px 0 lighten($mit-red, 5%));
background-color: darken($mit-red, 20%);
border-color: darken($mit-red, 30%);
@include box-shadow(inset 0 1px 0 darken($mit-red, 10%), 0 1px 0 lighten($mit-red, 5%));
display: block;
padding: lh(.5) lh();
border-color: darken($mit-red, 30%);
text-align: center;
&:hover {
......@@ -137,6 +157,11 @@ header.announcement {
width: flex-grid(4, 8);
line-height: lh();
float: left;
@media screen and (max-width: 780px) {
float: none;
width: 100%;
}
}
}
}
......
......@@ -6,6 +6,12 @@ section.index-content {
@extend .clearfix;
float: left;
@media screen and (max-width: 780px) {
float: none;
width: auto;
margin-right: 0;
}
h1 {
font-size: 800 24px "Open Sans";
margin-bottom: lh();
......@@ -27,6 +33,13 @@ section.index-content {
padding-right: flex-gutter() / 2;
width: flex-grid(8);
@media screen and (max-width: 780px) {
width: 100%;
border-right: 0;
margin-right: 0;
padding-right: 0;
}
section {
@extend .clearfix;
margin-bottom: lh();
......@@ -35,8 +48,17 @@ section.index-content {
width: flex-grid(4, 8);
float: left;
@media screen and (max-width: 780px) {
float: none;
width: auto;
}
&:nth-child(odd) {
margin-right: flex-gutter(8);
@media screen and (max-width: 780px) {
margin-right: 0;
}
}
}
......@@ -48,6 +70,11 @@ section.index-content {
margin-right: flex-gutter(8);
width: flex-grid(4, 8);
@media screen and (max-width: 780px) {
margin-right: 0;
width: auto;
}
p {
margin-right: 0;
width: auto;
......@@ -58,6 +85,10 @@ section.index-content {
&.intro-video {
width: flex-grid(4, 8);
@media screen and (max-width: 780px) {
width: auto;
}
a {
display: block;
width: 100%;
......@@ -82,11 +113,14 @@ section.index-content {
h2 {
text-transform: uppercase;
letter-spacing: 1px;
color: #666;
color: #888;
margin-bottom: lh();
font-weight: normal;
font-size: 14px;
span {
text-transform: none;
}
}
......@@ -119,8 +153,17 @@ section.index-content {
float: left;
margin-bottom: lh(.5);
@media screen and (max-width: 780px) {
width: auto;
float: none;
}
&:nth-child(odd) {
margin-right: flex-gutter(8);
@media screen and (max-width: 780px) {
margin-right: 0;
}
}
}
}
......@@ -131,12 +174,17 @@ section.index-content {
&.course, &.staff {
width: flex-grid(4);
@media screen and (max-width: 780px) {
width: auto;
}
h1 {
color: #888;
font: normal $body-font-size $body-font-family;
text-transform: uppercase;
font-size: 14px;
letter-spacing: 1px;
color: #666;
margin-bottom: lh();
text-transform: uppercase;
}
h2 {
......@@ -149,6 +197,13 @@ section.index-content {
a {
@extend .button;
span.arrow {
color: rgba(#fff, .6);
font-style: normal;
@include inline-block();
padding-left: 10px;
}
}
ul {
......@@ -169,9 +224,18 @@ section.index-content {
background: url('/static/images/marketing/circuits-bg.jpg') 0 0 no-repeat;
@include background-size(contain);
@media screen and (max-width: 998px) {
@media screen and (max-width: 998px) and (min-width: 781px){
background: url('/static/images/marketing/circuits-medium-bg.jpg') 0 0 no-repeat;
}
@media screen and (max-width: 780px) {
padding-top: lh(5);
background: url('/static/images/marketing/circuits-bg.jpg') 0 0 no-repeat;
}
@media screen and (min-width: 500px) and (max-width: 781px) {
padding-top: lh(8);
}
}
}
......@@ -185,12 +249,26 @@ section.index-content {
padding-right: flex-gutter() / 2;
width: flex-grid(8);
@media screen and (max-width: 780px) {
width: auto;
border-right: 0;
margin-right: 0;
padding-right: 0;
}
section {
width: flex-grid(4, 8);
@media screen and (max-width: 780px) {
width: auto;
}
&.about-info {
margin-right: flex-gutter(8);
@media screen and (max-width: 780px) {
margin-right: 0;
}
}
&.requirements {
......@@ -205,6 +283,12 @@ section.index-content {
width: flex-grid(4, 8);
margin-right: flex-gutter(8);
@media screen and (max-width: 780px) {
margin-right: 0;
float: none;
width: auto;
}
&:nth-child(odd) {
margin-right: 0;
}
......@@ -225,6 +309,12 @@ section.index-content {
}
}
}
&.staff {
h1 {
margin-top: lh(1);
}
}
}
}
......
......@@ -5,7 +5,7 @@ $fg-column: 60px;
$fg-gutter: 25px;
$fg-max-columns: 12;
$fg-max-width: 1400px;
$fg-min-width: 810px;
$fg-min-width: 781px;
$gw-column: 60px;
$gw-gutter: 25px;
......@@ -14,17 +14,7 @@ $body-font-family: Georgia, serif;
$header-font-family: "Open Sans", Helvetica, Arial, sans-serif;
$body-font-size: 16px;
// @media screen and (min-width:1200px) {
// $body-font-size: 18px;
// }
// @media screen and (max-width:890px) {
// $body-font-size: 14px;
// }
$body-line-height: golden-ratio($body-font-size, 1);
$lh: golden-ratio($body-font-size, 1);
// Colors
$mit-red: #933;
......
div.header-wrapper {
// @include linear-gradient(lighten($mit-red, 5%), darken($mit-red, 5%));
@include box-shadow(inset 0 -1px 2px darken($mit-red, 10%));
background: $mit-red;
border-bottom: 1px solid #fff;
@include box-shadow(inset 0 -4px 6px darken($mit-red, 5%));
@media print {
display: none;
......@@ -17,25 +16,38 @@ div.header-wrapper {
hgroup {
@extend .clearfix;
float: left;
min-width: flex-grid(3);
padding-top: 13px;
h1 {
border-right: 1px solid darken($mit-red, 5%);
color: darken($mit-red, 25%);
font-size: 20px;
font-size: 18px;
font-weight: 800;
margin: 0 lh() 0 0;
padding: 17px lh() 14px 0;
text-shadow: 0 1px 0 lighten($mit-red, 10%);
line-height: lh();
@include inline-block();
line-height: lh();
margin: 0;
padding: 0 lh(.5) 0 0;
text-shadow: 0 1px 0 lighten($mit-red, 10%);
&:after {
color: darken($mit-red, 10%);
content: "•";
display: inline-block;
font-size: 10px;
letter-spacing: -2px;
padding-left: lh(.5);
text-shadow: 0;
}
}
h2 {
font-size: 16px;
@include inline-block();
margin: 0 lh() 0 0;
padding: 19px lh() 9px 0;
line-height: lh();
border-right: 1px solid darken($mit-red, 5%);
letter-spacing: 0;
margin: 0;
padding: 0 lh() 0px 0;
text-shadow: 0 -1px 0 darken($mit-red, 10%);
text-transform: none;
-webkit-font-smoothing: antialiased;
a {
......@@ -48,61 +60,123 @@ div.header-wrapper {
}
}
@media screen and (max-width: 920px) {
border-bottom: 1px solid darken($mit-red, 5%);
@media screen and (max-width: 900px) {
display: block;
float: none;
h1 {
float: right;
border: 0;
margin-right: 0;
padding-right: 0;
float: left;
}
h2 {
float: left;
border: 0;
float: left;
margin-right: 0;
padding-right: 0;
}
}
}
nav {
float: left;
background: #501016;
border-bottom: 1px solid darken(#501016, 10%);
@include border-radius(3px 3px 0 0);
@include box-shadow(inset 0 0 0 1px darken(#501016, 5%), inset 0 2px 0 lighten(#501016, 5%));
display: block;
margin: 0;
float: left;
margin: 5px 0 0;
padding: 0;
text-shadow: 0 -1px 0 darken($mit-red, 10%);
max-height: 52px; //fix for firefox
-webkit-font-smoothing: antialiased;
ul {
@extend .clearfix;
display: inline-block;
padding: 19px 0 9px;
margin: 0;
li {
margin-right: lh();
display: inline-block;
margin-bottom: 0;
line-height: lh();
margin-bottom: 0;
float: left;
a {
color: #fff;
display: block;
font-weight: bold;
padding: 10px lh() 8px;
text-decoration: none;
@media screen and (max-width: 1020px) {
padding: 10px lh(.7) 8px;
}
&:hover {
color: rgba(#fff, .7);
background-color: none;
text-decoration: none;
}
}
}
}
@media screen and (max-width: 900px) {
width: 100%;
float: none;
ul {
li {
padding: auto;
display: table-cell;
width: 16.6666666667%;
text-align: center;
}
}
}
.active {
background: #F4F4F4;
border: 1px solid darken(#501016, 10%);
border-bottom: 0;
@include border-radius(3px 3px 0 0);
@include box-shadow(0 2px 0 #f4f4f4, inset 0 1px 0 #fff);
color: #333;
text-shadow: 0 1px 0 #fff;
}
&.courseware {
li.courseware a {
@extend .active;
}
}
&.book {
li.book a {
@extend .active;
}
}
&.info {
li.info a {
@extend .active;
}
}
&.discussion {
li.discussion a {
@extend .active;
}
}
&.wiki {
li.wiki a {
@extend .active;
}
}
&.profile {
li.profile a {
@extend .active;
}
}
}
}
}
......@@ -11,11 +11,13 @@ html {
section.main-content {
@extend .clearfix;
@extend .wrapper;
@include box-sizing(border-box);
@include border-radius(4px);
overflow: hidden;
background: #fff;
border: 1px solid #bbb;
border-bottom: 1px solid #bbb;
@include box-shadow(0 0 4px #dfdfdf);
@include box-sizing(border-box);
margin-top: 3px;
overflow: hidden;
@media print {
border-bottom: 0;
......@@ -23,9 +25,7 @@ html {
}
@media screen and (min-width: 1400px) {
// @include border-radius(3px);
@include box-shadow(0 0 4px #dfdfdf);
border: 1px solid #bbb;
@include border-radius(4px);
margin-top: lh(.5);
}
}
......
......@@ -10,24 +10,24 @@
}
div.leanModal_box {
background: #fff;
border: none;
@include border-radius(3px);
@include box-shadow(0 0 6px #000);
@include box-sizing(border-box);
display: none;
border: none;
background: #fff;
padding: lh(2);
a.modal_close {
color: #aaa;
display: block;
font-style: normal;
height: 14px;
position: absolute;
top: 12px;
right: 12px;
display: block;
top: 12px;
width: 14px;
height: 14px;
z-index: 2;
color: #aaa;
font-style: normal;
&:hover{
text-decoration: none;
......@@ -36,19 +36,24 @@ div.leanModal_box {
}
h1 {
border-bottom: 1px solid #eee;
font-size: 24px;
margin-bottom: lh();
margin-top: 0;
padding-bottom: lh();
border-bottom: 1px solid #eee;
margin-bottom: lh();
text-align: left;
}
&#enroll {
max-width: 600px;
p.ie-warning {
display: none;
}
ol {
@extend .clearfix;
padding-top: lh();
li {
......@@ -63,16 +68,16 @@ div.leanModal_box {
&:hover {
div.tip {
display: block;
line-height: lh();
position: absolute;
background: #333;
color: #fff;
width: 500px;
display: block;
font-size: 16px;
line-height: lh();
margin: 0 0 0 -10px;
padding: 10px;
position: absolute;
-webkit-font-smoothing: antialiased;
font-size: 16px;
width: 500px;
}
}
}
......@@ -84,16 +89,16 @@ div.leanModal_box {
div#enroll_error, div#login_error, div#pwd_error {
$error-color: #333;
-webkit-font-smoothing: antialiased;
background-color: $error-color;
border: darken($error-color, 20%);
color: #fff;
text-shadow: 0 1px 0 darken($error-color, 10%);
font-family: "Open sans";
font-weight: bold;
letter-spacing: 1px;
margin: (-(lh())) (-(lh())) lh();
padding: lh(.5);
text-shadow: 0 1px 0 darken($error-color, 10%);
-webkit-font-smoothing: antialiased;
&:empty {
padding: 0;
......@@ -108,11 +113,11 @@ div.leanModal_box {
margin-bottom: lh(.5);
&.terms, &.remember {
float: none;
width: auto;
border-top: 1px solid #eee;
clear: both;
float: none;
padding-top: lh();
border-top: 1px solid #eee;
width: auto;
}
&.honor-code {
......@@ -139,11 +144,11 @@ div.leanModal_box {
margin: lh(.5) 0 lh() lh();
li {
list-style: disc outside none;
margin-bottom: lh(.5);
color: #666;
font-size: 14px;
float: none;
font-size: 14px;
list-style: disc outside none;
margin-bottom: lh(.5);
}
}
}
......
......@@ -7,3 +7,14 @@ body {
margin: 0;
overflow: hidden;
}
div#enroll {
p.ie-warning {
display: block !important;
line-height: 1.3em;
}
form {
display: none;
}
}
......@@ -2,6 +2,13 @@ div#wiki_panel {
@extend .sidebar;
overflow: auto;
h2 {
padding: lh(.5) lh();
font-size: 18px;
margin: 0 ;
@extend .bottom-border;
}
input[type="button"] {
@extend h3;
@include transition();
......
../data/problems/schematic_tutorial.html
\ No newline at end of file
......@@ -2,27 +2,29 @@
var ${ id }contents=["",
%for t in items:
${t[1]['content']} ,
${t['content']} ,
%endfor
""
];
var ${ id }types=["",
%for t in items:
"${t[1]['type']}" ,
"${t['type']}" ,
%endfor
""
];
var ${ id }init_functions=["",
%for t in items:
function(){ ${t[1]['init_js']} },
function(){ ${t['init_js']} },
%endfor
""];
var ${ id }titles=${titles};
var ${ id }destroy_functions=["",
%for t in items:
function(){ ${t[1]['destroy_js']} },
function(){ ${t['destroy_js']} },
%endfor
""];
......@@ -52,6 +54,7 @@ function ${ id }goto(i) {
function ${ id }setup_click(i) {
$('#tt_'+i).click(function(eo) { ${ id }goto(i);});
$('#tt_'+i).addClass("seq_"+${ id }types[i]+"_inactive");
$('#tt_'+i).attr("title", ${ id }titles[i-1]);
}
......
......@@ -65,35 +65,31 @@
});
</script>
<%block name="bodyextra">
<%block name="wiki_head"/>
</%block>
<%block name="bodyextra">
<%include file="navigation.html" args="active_page='wiki'" />
<section class="main-content">
<div class="wiki-wrapper">
<%block name="wiki_panel">
<%block name="wiki_panel">
<div id="wiki_panel">
<%
if (wiki_article is not UNDEFINED):
baseURL = reverse("wiki_view", args=[wiki_article.get_url()])
else:
baseURL = reverse("wiki_view", args=["/"])
%>
<h2>Course Wiki</h2>
<%
if (wiki_article is not UNDEFINED):
baseURL = reverse("wiki_view", args=[wiki_article.get_url()])
else:
baseURL = reverse("wiki_view", args=["/"])
%>
<ul class="action">
<!-- <li> -->
<!-- <input type="button" onclick="javascript:location.href='${reverse("wiki_random", args=[])}'" value="Random article" class="button" /> -->
<!-- </li> -->
<li>
<input type="button" onclick="javascript:location.href='${reverse("wiki_list_articles", args=[])}'" value="All articles" class="button" />
</li>
<li class="create-article">
<h3>
<a href="#" id="create-article"/>Create Article</a>
......
......@@ -8,6 +8,27 @@
${ wiki_article.title }
</%block>
<%block name="wiki_head">
<script>
$(function() {
//Store the initial contents of #id_contents (the wiki body field) so we can compare for unsaved changes
$("#id_contents").data('initial_contents', $("#id_contents").val());
window.onbeforeunload = function askConfirm() { //Warn the user before they navigate away
if ( $("#id_contents").val() != $("#id_contents").data('initial_contents') ) {
return "You have made changes to the article that have not been saved yet.";
}
};
$("#submit_edit").click(function() {
$("#id_contents").data('initial_contents', $("#id_contents").val());
});
});
</script>
</%block>
<%block name="wiki_body">
<form method="POST" id="wiki_revision">
<div style="display:none">
......
<div class="staff_info">
${xml | h}
</div>
<%inherit file="main.html" />
<%block name="js_extra">
<script>
var page=${ page };
......@@ -16,34 +18,51 @@ function goto_page(n) {
if(n<10) {
prefix="00";
}
$("#bookpage").attr("src","${ settings.BOOK_URL }p"+prefix+n+".jpg");
$("#bookpage").attr("src","${ settings.BOOK_URL }p"+prefix+n+".png");
};
function prev_page() {
var newpage=page-1;
if(newpage<1) newpage=1;
if(newpage<0) newpage=0;
goto_page(newpage);
log_event("book", {"type":"prevpage","new":page});
}
function next_page() {
var newpage=page+1;
if(newpage>1764) newpage=1764;
if(newpage>1008) newpage=1008;
goto_page(newpage);
log_event("book", {"type":"nextpage","new":page});
}
$("#open_close_accordion a").click(function(){
if ($(".book-wrapper").hasClass("closed")){
$(".book-wrapper").removeClass("closed");
} else {
$(".book-wrapper").addClass("closed");
}
});
</script>
</%block>
<%include file="navigation.html" args="active_page='book'" />
<section class="main-content">
<div class="book-wrapper">
<ul id="booknav" class="treeview-booknav">
<%include file="book_toc.html" />
</ul>
<section class="book">
<section class="book-sidebar">
<header id="open_close_accordion">
<h2>Table of Contents</h2>
<a href="#">close</a>
</header>
<ul id="booknav" class="treeview-booknav">
<%include file="book_toc.html" />
</ul>
</section>
<section class="book">
<section class="page">
<nav>
<ul>
......@@ -56,7 +75,18 @@ function next_page() {
</ul>
</nav>
<img id="bookpage" src="${ settings.BOOK_URL }p${ "%03i"%(page) }.jpg">
<img id="bookpage" src="${ settings.BOOK_URL }p${ "%03i"%(page) }.png">
<nav class="bottom-nav">
<ul>
<li class="last">
<a href="javascript:prev_page()">Previous page</a>
</li>
<li class="next">
<a href="javascript:next_page()">Next page</a>
</li>
</ul>
</nav>
</section>
</section>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment