how to reduce size of generated gitbook website? - gitbook

I have project of documentation in gitbook with about of 1000 pages. Result of website generation is set of html files in common size 300 MB. There are 2 causes of such result:
1) All pages listed in SUMMARY.md and as result all generated static htmls has this large menu in 1000 links. The menu is not fully shown thanks to plugin which hides subchapters, but in any case whole menu is inside each html page. If to remove a page link from the SUMMARY.md, the associated html file doesn't generates. Is where any method to generate website with reduce menu (in this case access to subchapters pages will be provided from content of chapters pages)?
2) Big part of the content is not english text, and it translates in sequence of 7-chars codes (like this &#x0123), how to keep native 1-char symbol?

I'm not sure about your second issue, but it sounds like you can segment the menu as you wish, judging from the theming documentation: https://toolchain.gitbook.com/templating/variables.html

Related

Apex - Display Text on Page

I need to add some Pages to our Oracle Apex Application, which have to work as sort of an Instruction for new people in the Team. When I add a Static Content, to the page, I can add some text to it. But when I start a new line in the Source Box, this new line does not show up in Apex.
Do I need to use something different for text, or?
Kind Regards
Elias
The help section in the page builder shows that this region expects html. It's perfectly possible to put in plain text without any html but as you state, newlines aren't guaranteed.
Basic example of text with a line break as region source for static content region:
<p>
Hello<br>
World
</p>
Depending on the requirement, it's possible to use any html element, css (inline or defined in page header), javascript etc

New pages in Kentico not listing in googlesitemap.xml

Here's the setup:
Root site, set up to show in sitemap and is searchable.
Page under it doesn't get listed in sitemap (in fact, no pages do).
Create a new page with options to show in sitemap and is searchable but is not listed in sitemap xml file
In fact, nothing shows in our sitemap except the location of the robots file.
I understand that initially it only lists CMS.MenuItem objects (as per https://docs.kentico.com/k11/configuring-kentico/search-engine-optimization/google-sitemaps).
Is there a setting I'm missing to show pages in the sitemap?
In case it's important: kentico version is 10.
Make sure your custom page types are configured in the code file:
Either in code before ~/CMSPages/googlesitemap.aspx or code behind ~/CMSPages/googlesitemap.aspx.cs
Since it's similar to a repeater you can set the ClassNames property to identify the different page types you want it to use for rendering.
e.g. when in code before: ClassNames="CMS.MenuItem;CMS.News;Custom.Type"
Resulting in something like:
<cms:GoogleSitemap runat="server" ID="googleSitemap"
TransformationName="CMS.Root.GoogleSiteMap" CacheMinutes="0"
OrderBy="NodeLevel, NodeOrder, NodeName"
ClassNames="CMS.MenuItem;CMS.News;Custom.Type" />

Loading photos in KML/KMZ files

I am going to develop a mechanism to export as many as approx. 100 photos with their position information to a KML/KMZ file.
Just wondering what is the best practise to do this. My initial quick options are:
1. use html img tag in the description of a placemark to internally reference the actual photos wrapped in the internal "files" folder in the KMZ;
2. use html img tag in the description of a placemark to reference the URL of a photo (publicly accessible).
Option one involves writing all photos in the internal "files" folder of a KMZ. This would make it a massive file. Meanwhile, all photos would have to be loaded in memory during the loading of the KMZ file.
My question is with the option 2, if a particular photo would not be loaded until the user clicks on the placemark to open the popup balloon OR all the photos are loaded like the option 1?
Thanks!
Cheers,
Alex
You can think of Google Earth as a specialized web browser and the HTML within a given placemark as being handled same way HTML in a web browser is handled. In option 2 the images are not downloaded until user clicks the placemark and the description balloon is selected and starts to render.
Option 1 you have a huge KMZ file as you describe that must be downloaded entirely to the client and unpacked locally. The file may be too large to download in a mobile device if you want Google Earth mobile users to view it. The Google Earth essentially unpack the KMZ then access images as in the case of option 2 when the placemark with that image is selected. Only difference is that the entire collection must be downloaded in one shot so the initial startup time is slower and depends on network speed.

How does browser detect embedded web content from a HTML page?

Once a browser gets the main html page, how does it know which are the embedded content should be request again from web server, and which are only external links? Is it based on type of tags, e.g ?
If so, could someone give me a reference of what these tags are?
Thanks.
The HTML5 spec defines the element category "Embedded content":
Embedded content is content that imports another resource into the document, or content from another vocabulary that is inserted into the document.
It lists the following elements:
audio
canvas
embed
iframe
img
math
object
svg
video
Elements like link or script (both in Metadata category) can also refer to other ressources that user-agents (browsers, screen-readers, …) are free to link to or include or do whatever they want to do with it. For example, browsers like Firefox or Chromium will (by default) load and "apply" CSS that is linked within the link element, that has the rel value = stylesheet. Browsers like Lynx or w3m won't do that. They simply ignore that link.
For link, HTML5 states which link types "are links to resources that are to be used to augment the current document, generally automatically processed by the user agent":
Two categories of links can be created using the link element: Links to external resources and hyperlinks. The link types section defines whether a particular link type is an external resource or a hyperlink.
Maybe also consider the style attribute (for inline CSS), which could include a background-image url.
Yes, the tags help browser identify the resources to load. After downloading/retrieving the content the browser determines what to do with the content based on the content-type header in the response.

Any way of updating all links in spry menu bar in all pages?

I am currently designing an e-learning course for a college project. I am using a horizontal spry menu bar. I only have all updated links to other pages on the homepage. All of the rest are empty. I will finish up having more than 140 pages so is there anyway I can update the links from the homepage to work on all pages?
It would save me a huge amount of time.
Thanks.
There are two ways.
The first, and best, way is to call the menu code as some form of include on all pages of your site. You can put the ul structure of the menu system in a separate HTML file and use SSI or any server side language to call it as an include. If you don't have any access to SSI or a server side language, you can make the menu code a Dreamweaver Library Item and call it that way. The benefit here is the menu code exists in one place. Any update to the code will update throughout the site.
The second way is to use Dreamweaver's site-wide find and replace feature to make changes to the menu code on every page of your site.

Resources