Tips for adding styling to HTML in Vue by entering CSS code into the CodeMirror editor

Is there a way to style HTML by entering CSS code into the Codemirror editor? For instance, if we have the HTML code <head> </head>, how can I apply the CSS code, head{ color : red }, typed in the Codemirror editor to stylize this HTML code?

mounted(){
  
    this.htmlCode = CodeMirror.fromTextArea(document.getElementById('editor'),{
      lineNumbers: true,  
      theme: 'dracula',
      mode: 'xml',
      autoCloseTags: true,
    })
    this.cssCode = CodeMirror.fromTextArea(document.getElementById('editor2'),{
      lineNumbers: true,  
      theme: 'dracula',
      mode: 'css',  
      autoCloseTags: true, 
    })
  };

methods : {
    clickRun(){
        let htmlCode = this.htmlCode.getValue()
        let cssCode = this.cssCode.getValue()
        let previewWindow = document.getElementById('preview').contentWindow.document      
        let cssAdd = previewWindow.head.append("<style type='text/css'>" + cssCode + "</style>")
  
        
        previewWindow.open();
        previewWindow.write(htmlCode + cssAdd);
        previewWindow.close();
      
    },
}

I tried console logging this code:

console.log(previewWindow.head)
///<head>
///   "<style type='text/css'>h1{color:red;} </style>"
///</head>

console.log(cssCode)
/// h1 {
///  color:red;
/// }

console.log(cssAdd)

/// undefined

Answer №1

There are certain elements such as cm-editor, cm-scroller, cm-cursor, etc., that you can style, but the default formatting of CodeMirror is more restricted. Themes can be customized to some extent. Themes are defined using EditorView.theme. This function takes an object with CSS selectors as properties and styles as values, returning an extension that applies the theme.

For more information, you can refer to the complete documentation.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Troubleshooting Jquery Ajax Failure in Laravel 4

Whenever I utilize jQuery Ajax to insert data into the database, a peculiar issue arises. Upon clicking the submit button, my page mysteriously returns blank. To shed light on this dilemma, I decided to employ Firebug for debugging purposes, only to stumbl ...

Guide on utilizing JSON data sent through Express res.render in a public JavaScript file

Thank you in advance for your assistance. I have a question that has been on my mind and it seems quite straightforward. When making an app.get request, I am fetching data from an external API using Express, and then sending both the JSON data and a Jade ...

Attempting to perform recursion on two functions simultaneously may result in one of the functions being undefined

There is a page on my site that clients tend to keep open for long periods of time without refreshing, sometimes over 24 hours. Some of the actions on this page require a valid PHP session, so I created a simple set of functions to check this every 10 minu ...

Adjusting package.json settings for an npm module

An npm package that I am using has an incorrect file path specified in its package.json. The current configuration is: "main": "./htmldiff.js", However, for it to function correctly, it should be: "main": "./src/html ...

Ways to determine if the popupState component in Material UI is currently opened

I am currently utilizing PopupState and the Popover component to create a specific element. It is functioning properly, but I have a requirement to modify the icon displayed based on whether the popup is open or closed. Here is the code for my component: ...

Refresh all tabs in the TabContainer

I have implemented multiple tabs using dojo on a web page, and I need to refresh the current tab every 5 seconds without refreshing the entire page. You can check out the code in this fiddle: http://jsfiddle.net/5yn2hLv9/4/. Here is an example of the code ...

Automated pagination integrated with automatic refreshing of div every few seconds

I am currently working on setting up a datatable and I need it to be displayed on the monitor in such a way that it can refresh the div and automatically paginate to the next page. However, whenever the div is refreshed, the auto-pagination gets cancelle ...

Error: Unable to access the applicant's ID as it is undefined

I'm currently facing an issue with passing parameters from server.js to humanresources.js in a login request. Although the params are successfully printed out in server.js, they appear as "undefined" once passed on to the function in human resources.j ...

How can you extract path information from an SVG file and utilize it as a marker on Google Maps?

I want to implement a custom SVG icon as a marker on Google Maps. I have obtained this SVG file: <svg xmlns="http://www.w3.org/2000/svg" width="510px" height="510px" viewBox="0 0 510 510"> <g stroke="black" stroke-width="10" ...

Creating a stunning image carousel in Vue by integrating a photo API: step-by-step guide

Trying to figure out how to create an image carousel in Vue using photos from an API. Currently able to display the photos using: <section class="images"> <img v-for="image in images" :key="image.id":src="image.assets.large.url"> &l ...

Issue with jQuery DataTable: Unable to use column-level filters at the top and maintain a fixed height simultaneously

I am having an issue displaying data in a jQuery DataTable with a column level filter at the top, fixed height, and scroller enabled. Initially, I was able to display the column level filter at the top and it was functioning properly. However, when I set t ...

Implementing AJAX to seamlessly add comments in real time!

I have set up a commenting system on my website using two PHP files: index.php and insert.php. The index.php file contains a form where users can input their comments, which are then displayed on the page through an echo statement after being stored in the ...

Java - RESTful API endpoint that serves images when available and JSON data when images are not available

I am currently working on incorporating a mobile front-end using the Ionic Framework along with the $cordovaFileTransfer plugin. My focus is on fetching and uploading a person's Profile Photo. Uploading the photo is functioning properly, but I am enco ...

When I attempt to run several promises simultaneously with Promise.All, I encounter an error

My code contains a series of promises, but they are not being executed as expected. Although the sequence is correct and functional, I have found that I need to utilize Promise.all in order for it to work properly. dataObj[0].pushScreen.map(item => { ...

jQuery - Event cannot be triggered on the 'deselect' or 'focusout' of <option> tag

Check out the demo here Hello there, I have a situation where I need an input box to appear below a select option, only if the user selects "Other". The code currently uses the .click() function on the option, but now I am trying to make the input box di ...

Steps to add an SVG to a DIV when clicked

This script is fully functional and produces the desired results. var play = function(){ $( this ).click(function() { console.log( "Test" ); }); } I am looking to replace the console.log( "Test" ); with an SVG that will display in the cli ...

When the Next.js app is built, the API route provides the initial data, which typically occurs during development

I am encountering an issue with my Next.js page using App Router. The page retrieves data from its route API, which is obtained from MQTT. During development (running dev), when we send a request to api/getLocation, it returns updated data from MQTT. Howev ...

Discord bot that combines the power of discord.js and node.js to enhance your music

I am currently working on a Discord bot designed to play music in voice chat rooms. However, I am facing some issues with properties. Whenever I try to launch the bot using "node main", I encounter the following error message: "TypeError: Cannot read prope ...

What could be the reason for receiving an undefined user ID when trying to pass it through my URL?

Currently, I am in the process of constructing a profile page and aiming to display authenticated user data on it. The API call functions correctly with the user's ID, and manually entering the ID into the URL on the front end also works. However, wh ...

Guide on creating rsa key pair on the client side with angular2

Is there a way to generate an 'rsa' key-pair on the client-side using angular2? I am looking to create a private/public key pair and store the private key in a database while using the public key on the client side. How can this be achieved? I c ...