<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jinling Xi</title>
    <description>The latest articles on DEV Community by Jinling Xi (@liushuigs).</description>
    <link>https://dev.to/liushuigs</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1221308%2F79efd598-14d3-4e5b-a0e3-4b4006bdecca.jpeg</url>
      <title>DEV Community: Jinling Xi</title>
      <link>https://dev.to/liushuigs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/liushuigs"/>
    <language>en</language>
    <item>
      <title>How to use GHC plugin to save any part of a webpage as pure css component?</title>
      <dc:creator>Jinling Xi</dc:creator>
      <pubDate>Thu, 27 Jun 2024 08:34:51 +0000</pubDate>
      <link>https://dev.to/liushuigs/how-to-use-ghc-plugin-to-save-any-part-of-a-webpage-as-pure-css-component-pp2</link>
      <guid>https://dev.to/liushuigs/how-to-use-ghc-plugin-to-save-any-part-of-a-webpage-as-pure-css-component-pp2</guid>
      <description>&lt;h3&gt;
  
  
  1. Install GHC plugin
&lt;/h3&gt;

&lt;p&gt;GHC plugin is availabe on both Chrome and Edge store.&lt;/p&gt;

&lt;p&gt;Install GHC plugin from Chrome store &lt;a href="https://chromewebstore.google.com/detail/ghc-extract-only-user-def/hodhbkgjfpldkenndcnhiampijbhbkdo" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Install GHC plugin from Edge store &lt;a href="https://microsoftedge.microsoft.com/addons/detail/ghc-extract-only-userd/gkngieddelocicaipeelmgggamekjobi" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Signup and login
&lt;/h3&gt;

&lt;p&gt;Open GHC official website: &lt;a href="https://www.gethtmlcss.com" rel="noopener noreferrer"&gt;https://www.gethtmlcss.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;code&gt;Login&lt;/code&gt; button on the top-right corner to navigate to login page.&lt;/p&gt;

&lt;h4&gt;
  
  
  2.1 Signup and login by google auth
&lt;/h4&gt;

&lt;p&gt;On login page, click google button to login. If you are first time to come, an GHC account related to your google account will be created.&lt;/p&gt;

&lt;h4&gt;
  
  
  2.2 Signup and login by email
&lt;/h4&gt;

&lt;p&gt;On login page, click &lt;code&gt;register&lt;/code&gt; to navigate to signup page.&lt;/p&gt;

&lt;p&gt;On signup page, input a valid email adress, nickname and password, and then click &lt;code&gt;Submit&lt;/code&gt;. You will receive an activation link in your email inbox.&lt;/p&gt;

&lt;p&gt;Check you email inbox, click the activation link, then a GHC account will be created successfully.&lt;/p&gt;

&lt;p&gt;Visit &lt;a href="https://www.gethtmlcss.com/login" rel="noopener noreferrer"&gt;GHC login page&lt;/a&gt; again, input the email and password to log in.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Get started
&lt;/h3&gt;

&lt;h4&gt;
  
  
  3.1 Enable GHC plugin on website
&lt;/h4&gt;

&lt;p&gt;Open any website such as &lt;a href="https://www.google.com" rel="noopener noreferrer"&gt;google&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Click the GHC button on the right of Chrome/Edge toolbar.&lt;/p&gt;

&lt;p&gt;Select &lt;code&gt;All sites&lt;/code&gt; and click &lt;code&gt;Apply Change&lt;/code&gt;, then a &lt;code&gt;GHC&lt;/code&gt; button will be shown on the page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-6a2b433794d5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-6a2b433794d5.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  3.2 Copy css selector of target part
&lt;/h4&gt;

&lt;p&gt;if you want to save any part of the current page, the first thing is to find its css selector.&lt;/p&gt;

&lt;p&gt;Click blank position of the page to open Devtools.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-e091f3362d6b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-e091f3362d6b.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click the &lt;code&gt;Inspect&lt;/code&gt; icon of &lt;code&gt;Elements&lt;/code&gt; panel of Devtools to activate inspecting function of the browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-d18c5aa1285c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-d18c5aa1285c.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Suppose we are interested in the searchbox of google home page. We can finally find the DOM position by Inspecting the page or just click on the elements in Element panel. That is &lt;code&gt;&amp;lt;div jsname="RNNXgb" class="RNNXgb"&amp;gt;&lt;/code&gt; as follows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-8d7436ebae4f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-8d7436ebae4f.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, right click on the element, select &lt;code&gt;copy&lt;/code&gt;, select &lt;code&gt;selector&lt;/code&gt;.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-927972b63127.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-927972b63127.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, we alrealy get the target css selector in clipboard.&lt;/p&gt;

&lt;h4&gt;
  
  
  3.3 Get target code
&lt;/h4&gt;

&lt;p&gt;Hover on the GHC button on the right, the whole GHC panel will be shown.&lt;/p&gt;

&lt;p&gt;Paste in the CSS Selector input, then click the &lt;code&gt;Get Code&lt;/code&gt; button on the bottom of GHC panel.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-9c0c60518856.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-9c0c60518856.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Remember keeping the Devtools open all the time.&lt;/p&gt;

&lt;h4&gt;
  
  
  3.4 Preview in GHC website
&lt;/h4&gt;

&lt;p&gt;When &lt;code&gt;Get Code&lt;/code&gt; is done, a GHC project will created and opened automatically in a new page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-7b00c11170ce.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-7b00c11170ce.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the right, we can see the google searchbox.&lt;/p&gt;

&lt;p&gt;On the left, we can see html and css source code created by GHC plugin.&lt;/p&gt;

&lt;p&gt;if we take a deeper look, we can know that all classname is renamed and every html node has a unique new css rule correspondingly and the css rule contains user-defined css from original website!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-de30ce1749f6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-de30ce1749f6.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  3.5 Preview in Codepen or download to computer
&lt;/h4&gt;

&lt;p&gt;When &lt;code&gt;Get Code&lt;/code&gt; is done, all records are listed below. Click the Codepen button, and you can preview the code in Codepen website. You can also click the download button besides Codepen button to download source code as a zip file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-1a07cd213a08.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.ghcviewer.com%2F063f71-1a07cd213a08.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
