-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Show/hide the sizing box without re-running mdbook
#1796
Comments
@mani-chand, would you like to work on this? I don't know what your familiarity is with JS and web development. |
Hey @djmitche , I haven't seen this comment till now.I will try and see if I can fix it. Don't assign it to me now. Once I fix it I will directly make a PR. |
I am good react but don't know to work with scripts. |
Please be careful with editing comments, as it makes it hard to read the issue later! |
Sounds good. There's no React in use here, just plain old JavaScript. Perhaps someone else can pick this up! |
Ok thank you. I am sure gonna give a try. |
Hello @djmitche , Is this what you mean to do. Is it good or not . Any changes required. |
Not quite! #1464 has some screenshots of a dotted red box that shows the content that will fit on one screen while teaching the class. I'd like to reproduce that, but triggered with a keystroke or button click instead of a change to book.toml. |
Okay ,I will check with that . |
I need help how to get red box . |
I don't know either :) I'd start by looking at the suggested change to # [preprocessor.aspect-ratio-helper]
# command = "./aspect-ratio-helper.py" And looking in that Python file, I see it adding some HTML to each chapter. As for how to do this without a preprocessor, the JS and CSS for the book are in Maybe a good place to start is adding that file and just always drawing the red box. Once that's done, the next step would be to invent some way of turning the box on and off in the web browser (and defaulting to off). |
Hello @djmitche , I am not sure that we can hide that red box area because its just a css fixed position. I am not sure how to explain it. But when tried to hide that just red box is hiding. When I have checked var isHide = false;
var hideShowButton = document.createElement('button');
hideShowButton.className = (isHide ?"hide":"show");
hideShowButton.title = (isHide?"Hide":"Show");
hideShowButton.style.width = "50px"
hideShowButton.style.display = "block"
hideShowButton.style.textItem = "left";
hideShowButton.innerHTML = (isHide?"Show":"Hide");
hideShowButton.style.height = "25px"
var preTag = document.getElementsByTagName('details');
console.log(preTag[0]);
preTag[0].insertBefore(hideShowButton, preTag[0].firstChild);
function toggleContent() {
//console.log("Toggling content",document.getElementsByClassName('playground')[0].children[1].hidden);
if(document.getElementById('aspect-ratio-helper').hidden){
document.getElementById('aspect-ratio-helper').hidden = false;
hideShowButton.innerHTML = "Show";
isHide=false;
document.getElementById('aspect-ratio-helper').style.display = "none";
hideShowButton.className="hide";
}else{
document.getElementById('aspect-ratio-helper').hidden = true;
hideShowButton.innerHTML = "Hide";
isHide=true;
document.getElementById('aspect-ratio-helper').style.display = "block";
hideShowButton.className="show";
}
}
hideShowButton.addEventListener('click',toggleContent) Pattern.Matching.-.Comprehensive.Rust.-.Google.Chrome.2024-02-21.23-42-34.mp4 |
If code needs any changes suggest me. If it is completely wrong. suggest me a way if possible. |
It looks from the screencast like that's working -- it hides and shows, right? But, I think it's key that this work without the |
yes it's work like screencast red box hide/show on button toogle. What if we add same styles of |
Yes, I think putting it in the .js and/or .css files is the right solution. And it will only be a problem if we push it before it's done :) |
Then, We can keep that part of code as comment and use in dev mode. |
If you are ok to comment code and push then , I will make it work. |
I'm not sure what you're suggesting. Why would the code be in a comment? |
OH MY BAD English😅 , What I am saying is that, If we write the red box styles in |
We can uncomment them in developing mode and use it. |
The reason for this bug is to not have to uncomment anything in order to see the red box, so that wouldn't be a fix to the bug. We need a way to control, in the browser, whether to show or hide the box. My suggestion is that you break down the project into two parts: first, show the red box all the time; then, set up the way to control whether to show or hide the box. |
Sounds bit complex, But, Will keep that in mind and work on it. |
How about adding a button in right side navbar for showing or hiding red box. PS ; Not sure that's a good idea what do say. any change or suggestion. |
may be adding a new theme named as dev. for showing redvbox |
A new theme is an interesting idea -- want to try that out? |
Yes, I will try it out and let you know. |
Hello @djmitche , Check once . Any changes. Strings.-.Comprehensive.Rust.-.Google.Chrome.2024-02-22.23-25-58.mp4 |
Due size of video, I cannot give you a proper demo . everything will be same except that |
That looks great! |
Should I go for PR. |
Yep! |
Ok. |
Thanks @mani-chand for the work here! There is one feature I would like to see: I would like us to hide the button with the rectangle when we publish the HTML to https://google.github.io/comprehensive-rust/ — to avoid confusing people who might click it and wonder what the red rectangle is about 😄 Removing the button will also help give back a little horizontal space. Especially on mobile, this is a very precious resource. I would suggest updating The result would be that |
Hello @mgeisler , Is this what you mean. It should be before |
I am not sure why it is not reflecting now running it. , I need some help , What will be the line. |
I think
If that doesn't help, can you push what you've got to the PR? |
@djmitche Once check the PR. |
Added a dev theme to help with slide aspect ratio while updating content or for reviewing PRs. Fixes #1796. --------- Co-authored-by: Dustin J. Mitchell <[email protected]> Co-authored-by: Martin Geisler <[email protected]>
* Fix typo in googletest.md (google#1804) The word `strings` is repeated unnecessarily * Update try.md - syntax error (google#1807) Add second `:` * Use existing function as an example for automatic dereferncing (google#1799) * Fix Chromium link in README.md (google#1812) Fixes google#1806. * Make content of variable "name" an actual name (google#1816) In the example, somebody who is trying to understand this code has to follow a lot of moving pieces: prefix, name, make_greeter, and then also learn the new move concept at the same time. It'd be better if the content were to actually match the name of the variables. "Hi" is a good prefix, but "there" is not a name, so let's go with an actual name. * Added break-continue section. (google#1793) This is a contribution of a break-continue section for Comprehensive Rust. ![image](https://github.com/google/comprehensive-rust/assets/65899331/e68bf439-bcbd-43c9-88bd-f66470a5956f) ![image](https://github.com/google/comprehensive-rust/assets/65899331/1644a460-8373-4878-b6b9-0ce498e8c95d) --------- Co-authored-by: Dustin J. Mitchell <[email protected]> * Change String representation to actual (google#1817) Tested with rust 2015, 2018, 2021 and 2024, on amd64 musl, amd64 glibc and aarch64 musl, all of them represent Strings with (ptr, capacity, len). This is an internal implementation detail, that shouldn't be exposed anyway, so it's no big deal, but in the speaker notes, we provide a debugging tool for demonstration purposes, so at least that should have a correct output. * zh-CN: index & preparation translation (google#1800) The po file has been refreshed. Translation range: L1173-L2241. google#324 --------- Co-authored-by: Yihao Wang <[email protected]> * Added blocks and scopes section (google#1822) * Translation correction on Update es.po (google#1780) I added a tranlation correction on the line 1287, I change "tres" instead "cuatro", because "cuatro" is the meaningful of four in Spanish. --------- Co-authored-by: Henri F <[email protected]> * da: refresh translation for January 2024 (google#1742) This is a clean refresh, requires only a syntactical review. You can skim this PR with the [GitHub CLI](https://cli.github.com/): ``` gh pr diff 1742 | bat -l patch ``` * fa: refresh translation for January 2024 (google#1751) This is a clean refresh, requires only a syntaxtical review. You can skim this PR with the [GitHub CLI](https://cli.github.com/): ``` gh pr diff 1751 | bat -l patch ``` * Translation correction on Update es.po (google#1781) I added a tranlation correction on the line 1287, I change "tres" instead "cuatro", because "cuatro" is the meaningful of four in Spanish. --------- Co-authored-by: Henri F <[email protected]> * cargo: bump the patch group with 1 update (google#1828) Bumps the patch group with 1 update: [clap](https://github.com/clap-rs/clap). Updates `clap` from 4.5.0 to 4.5.1 Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * uk: Day 3: morning (google#1826) Day 3: morning Signed-off-by: Andriy Redko <[email protected]> * Suggest --locked for cargo installs (google#1792) This is already used in the GitHub actions, and avoids issues like those in google#1791. Fixes google#1791. * Fix style in glossary.md (google#1825) `id` of `h1` title in the translated version will be changed to the translated text. Fixed `id` configured here will not take effect in the translated version. Correct style: https://google.github.io/comprehensive-rust/glossary.html Wrong style (zh-CN): https://google.github.io/comprehensive-rust/zh-CN/glossary.html * Add heading attribute to glossary.md (google#1829) Add heading attributes[1] to avoid ID changes in translation. [1]: https://rust-lang.github.io/mdBook/format/markdown.html#heading-attributes Related: google#1825 --------- Co-authored-by: Martin Geisler <[email protected]> * Rendered PDF improvements (google#1805) Updates `mdbook-pandoc` to [0.5.0](https://github.com/max-heller/mdbook-pandoc/releases/tag/v0.5.0) to use some new features: - Table wrapping (closes google#1709) The wrapping logic mirror's [Pandoc's](https://pandoc.org/MANUAL.html#extension-pipe_tables) (i.e., compare the relative widths of the `---` columns to determine column widths) so tables in the source may need tweaking to get the proportions right - Replace broken links in PDF with corresponding links to https://google.github.io/comprehensive-rust/ * Make the "break with label" example more illustrative (google#1830) In the old version, using "break 'outer;" and using "break;" (without the label) produce the same output. This version fixes that to make the example more illustrative. --------- Co-authored-by: Martin Geisler <[email protected]> * fr: Updating the first few pages (up to 1.1). (google#1778) * Update translations.md with new Korean contributor (google#1823) Co-authored-by: Martin Geisler <[email protected]> * Reformulate speaker notes regarding Box (google#1819) The first change is to reformulate the English in a way, that emphasizes, that this is not a decision of the compiler, but the impossibility of computing an infinite value (e.g. changed the language from "not compute" to "would not be able to compute"). The second change is to fix the error message, of course the error message from the compiler is "recursive withOUT indirection", as "recursive with indirection" is actually what we want. * Put a header on schedule comments (google#1814) This will add a little more context. See the current result in google#1813. * Add missing editable attribute to exercise (google#1827) I was reading the docs and I stumbled upon this. I'm unsure about when exercises should be solved directly on the site and when they should be copied and pasted into a playground. But since the previous chapter's exercise is solvable in the site [(fibonacci sequence)](https://github.com/google/comprehensive-rust/blob/0cb7f496b542d76468fa950718f57f4037abc8fa/src/types-and-values/exercise.md?plain=1#L15), I figured this one might be missing the attribute. Anyway amazing work on the docs! * Change hardcoded vector update to a for loop (google#1833) iterating over the vector instead of hardcoding each item --------- Co-authored-by: Martin Geisler <[email protected]> * Expand Traits, add associated types (google#1815) This breaks the "Traits" slide into three smaller sub-slides. It also addresses part of google#1511 by explicitly addressing associated types. --------- Co-authored-by: Martin Geisler <[email protected]> * Update exercise to add also the tests, in a TDD style (google#1832) Having the tests only in the result brings less value, so the participants can do it following TDD practices * Update user-defined-types/exercise.md (google#1835) Allow us to edit so we can complete the exercise :) * Move hello world example to second section (google#1838) The current location for the hello world example is awkward since the two surrounding pages are both talking about Rust from a high level without talking about syntax at all. I think starting the second section (types and values) with the hello world example would help the first section flow more smoothly. * Add translation comment to glossary (google#1831) With google/mdbook-i18n-helpers#107 merged, we can begin adding comments for the translators to our Markdown files. * Tweak timings of exercises to better reflect teaching times (google#1839) A few of the early exercises had much larger estimates than were actually necessary for the super simple early exercises. I've gone through and reviewed the time estimates for exercises and tweaked the estimates based on how much time students have actually needed in my classes so far. * Flesh out `for` loop example (google#1841) * Add example of iterating over a collection. * Update speaker notes to call out the use of iterators. I think it's useful to call out that `for` loops primarily are used to iterate over a collection of objects, even though we haven't yet talked about any concrete collection types at this point. I think using the array literal syntax is simple enough to understand that it should be quick to explain when we get to this slide. * pt-BR: Merge CR v.2 pt-BR translation back into main (google#1846) This PR merges the pt-BR v.2 translation back to main. Also, it refreshes the .po file format removing the line numbers. This requires just a syntactical review, as the partial PRs into this branch were reviewed already. You can skim this PR with the [GitHub CLI](https://cli.github.com/): gh pr diff 1846 | bat -l patch google#317 google#1463 --------- Co-authored-by: João Victor Mendes <[email protected]> Co-authored-by: azevedoalice <[email protected]> * Fix definition of Rust Fundamentals in glossary.md (google#1844) Small nitpick: Days 1 to **4** are Rust Fundamentals * Fix typo in cargo.md (google#1847) * Remove tangential text from `if` slide (google#1840) * Update cargo.md to fix typos (google#1848) * cargo: bump the patch group with 6 updates (google#1850) Bumps the patch group with 6 updates Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * cargo: bump the patch group in /src/bare-metal/aps/examples with 1 update (google#1851) Bumps the patch group in /src/bare-metal/aps/examples with 1 update: [cc](https://github.com/rust-lang/cc-rs). Updates `cc` from 1.0.83 to 1.0.88 Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * cargo: bump the patch group in /src/exercises/bare-metal/rtc with 1 update (google#1852) Bumps the patch group in /src/exercises/bare-metal/rtc with 1 update: [cc](https://github.com/rust-lang/cc-rs). Updates `cc` from 1.0.83 to 1.0.88 Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * uk: Day 3: afternoon (google#1849) uk: Day 3: afternoon Signed-off-by: Andriy Redko <[email protected]> * Link to PDF version of course from first page (google#1836) Re google#1805 (review) --------- Co-authored-by: Martin Geisler <[email protected]> * Skip translation of large bare-metal code blocks (google#1853) This was done a bit inconsistently before. We now skip all of these large blocks which are meant to be used as-is by the students. This removes 700 lines from the PO files. I found this during the review of google#1651. * Sort `mdbook` redirects (google#1761) There were a few comments, but I think it’s better to make it all uniform and avoid these comments. The comment was about the v2 rewrite, but this is now done and so the comment is less useful. I also normalized the quotes to double-quotes instead of single-quotes. The latter is a literal string in TOML, but we don’t actually have any special characters to escape here. * Rework introduction of pattern matching (google#1843) * Update course-schedule PR comments in-place (google#1856) Instead of always adding a new comment, just update the existing comment if one exists. This fixes google#1834. * cargo: bump the patch group in /src/bare-metal/aps/examples with 1 update (google#1871) Bumps the patch group in /src/bare-metal/aps/examples with 1 update: [log](https://github.com/rust-lang/log). Updates `log` from 0.4.20 to 0.4.21 Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump crate-ci/typos from 1.18.2 to 1.19.0 (google#1872) Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.18.2 to 1.19.0. Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * cargo: bump the patch group with 4 updates (google#1873) Bumps the patch group with 4 updates: [log](https://github.com/rust-lang/log), [tempfile](https://github.com/Stebalien/tempfile), [cxx](https://github.com/dtolnay/cxx) and [cxx-build](https://github.com/dtolnay/cxx). Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * cargo: bump the patch group in /src/exercises/bare-metal/rtc with 1 update (google#1874) Bumps the patch group in /src/exercises/bare-metal/rtc with 1 update: [log](https://github.com/rust-lang/log). Updates `log` from 0.4.20 to 0.4.21 Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * cargo: bump the minor group with 2 updates (google#1870) Bumps the minor group with 2 updates: [scraper](https://github.com/causal-agent/scraper) and [tokio-websockets](https://github.com/Gelbpunkt/tokio-websockets). Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * URGENT: Fix course schedule watcher github action (google#1867) @djmitche Currently all PRs are marked as schedule change PRs. This is my try to propose a fix for this, but please review diligently, I'm no github actions expert, and I don't have an environment to test. * Small formatting fix (google#1866) This is a typo, that actually @mgeisler stopped in my previous PR, I was just not around to fix it fast enough to make it to the previous merge. Thanks for the catch! * Move Mockall and GoogleTest slides to Android section (google#1533) After google#1528 and google#1532, we now have actual slides which showcase the crates in action. So we can reclaim a few minutes by removing the slide which mentions Mockall and GoogleTest slide. The slide mentioned [proptest](https://docs.rs/proptest) and [rstest](https://docs.rs/rstest) as well. While I'm sure the libraries are useful, we don't have them imported into AOSP and I've never personally used them. We should therefore not advertise them yet at this point since they won't be useful to Android engineers. Of course we can mention things that are not in AOSP (or in Chromium), but I think we should do it in the speaker notes at most. * Always install and run `mdbook-pandoc` (google#1713) Before, we only installed and ran `mdbook-pandoc` when publishing the course — which means that a PR change could accidentally break the publish workflow. We now test that it works on every PR. From a discussion in google#1704. * Add a dev theme to help with slide aspect ratio (google#1842) Added a dev theme to help with slide aspect ratio while updating content or for reviewing PRs. Fixes google#1796. --------- Co-authored-by: Dustin J. Mitchell <[email protected]> Co-authored-by: Martin Geisler <[email protected]> * cargo: bump mio from 0.8.10 to 0.8.11 (google#1877) Bumps [mio](https://github.com/tokio-rs/mio) from 0.8.10 to 0.8.11. * Fix some typos (google#1864) Signed-off-by: geekvest <[email protected]> * es: Merge CR v.2 Spanish translation back into main (google#1879) This PR merges the Spanish (es) v.2 translation back to main. This requires just a syntactical review, as the partial PRs into this branch were reviewed already. You can skim this PR with the [GitHub CLI](https://cli.github.com/): gh pr diff 1879 | bat -l patch google#1463 google#284 --------- Co-authored-by: David Martínez Martí <[email protected]> * tr: cr2 update changes (google#1865) updated for cr2 and added some translations Part of google#500 * Divided Array and tuples (google#1859) google#1824 PR Changes * Make diagram consistent with code (google#1855) * Retire @duyguisler as a Turkish reviewer (google#1880) Thanks for the work so far, feel free to come back if you have more time! * Tweak solution to iter exercise (google#1884) Because `.zip()` is limited to the shorter length, the `.take()` call here is unnecessary. When explaining this solution I don't want to have to explain a call to a method that, used as it is, does nothing. * concurrency: Add detailed teaching notes for welcome and threads slides (google#1885) These follow the flow of what I actually teach, which spends a significant amount of time on the latter slide. I think it's worthwhile to have a real flow documented in the teaching notes, both to make sure nothing gets forgotten and to structure the experience of teaching. * Do not show trait vtables as located in the heap in memory diagram (google#1882) This diagram is misleading and I often explain that the character data of string literals resides in the executable's static data, with vtables working the same. * concurrency: Update async trait slide (google#1883) Clarify that the basics are stable, but dyn support is still missing. This slide was outdated and didn't explain the current state of stable correctly. * set fallback fonts for PDF rendering (google#1728) Once a new version of Pandoc is released that includes jgm/pandoc#9204 and jgm/pandoc#9353 (both merged), this will fix the emoji and symbol rendering issues in google#1708. It doesn't seem to be possible to set fallback fonts with `luatexja-fontspec` (used to configure CJK fonts), which results in some missing symbols in the translations but at least renders the emoji properly. Closes google#1708 * Fix typo in associated-types.md (google#1887) A minor nitpick, but as someone new to the language I did spend a bit more time than I'd like to admit trying to understand the meaning of `allow` before realizing this is likely a typo. Maybe I still don't understand, and in that case I'd appreciate a correction! * Refreshed Bengali Translations and Added New Translations to Bengali (google#1876) This PR aims to do the following: 1. Refresh the Bengali Translations 2. Add new translations in line with google#653 to complete up to 10%. 3. Corrections to existing translations. Edit: Recent commits bump up the % completed to 12. --------- Co-authored-by: abhik-bits <[email protected]> Co-authored-by: Mir Wasi Ahmed <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Signed-off-by: Andriy Redko <[email protected]> Signed-off-by: geekvest <[email protected]> Co-authored-by: IP1llar <[email protected]> Co-authored-by: Gergely Risko <[email protected]> Co-authored-by: Dustin J. Mitchell <[email protected]> Co-authored-by: Manichand Kondapaka <[email protected]> Co-authored-by: Dustin J. Mitchell <[email protected]> Co-authored-by: mobyw <[email protected]> Co-authored-by: Yihao Wang <[email protected]> Co-authored-by: Diego Romero <[email protected]> Co-authored-by: Henri F <[email protected]> Co-authored-by: Martin Geisler <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Andriy Redko <[email protected]> Co-authored-by: Martin Geisler <[email protected]> Co-authored-by: Max Heller <[email protected]> Co-authored-by: Marja Hölttä <[email protected]> Co-authored-by: AdrienBaudemont <[email protected]> Co-authored-by: titong0 <[email protected]> Co-authored-by: Jean Carlo Vicelli <[email protected]> Co-authored-by: Michael Graf <[email protected]> Co-authored-by: Nicole L <[email protected]> Co-authored-by: João Victor Mendes <[email protected]> Co-authored-by: azevedoalice <[email protected]> Co-authored-by: Adrian Taylor <[email protected]> Co-authored-by: geekvest <[email protected]> Co-authored-by: David Martínez Martí <[email protected]> Co-authored-by: Enes Aydın <[email protected]> Co-authored-by: Yuri Astrakhan <[email protected]> Co-authored-by: Frances Wingerter <[email protected]> Co-authored-by: Aaron M <[email protected]> Co-authored-by: Abhik Banerjee <[email protected]> Co-authored-by: abhik-bits <[email protected]> Co-authored-by: Mir Wasi Ahmed <[email protected]>
#1464 describes a way to enable a red box in development mode, to determine whether a slide will fit onscreen without scrolling.
Let's define a keystroke or hidden button that will toggle this box, without any special configuration in
book.toml
. This will make it easier to use this tool while developing or reviewing a PR, without accidentally committing changes tobook.toml
.CC @mani-chand who is working on fixing slides for #1464.
The text was updated successfully, but these errors were encountered: